This is an undocumented entity that I figured I should point out. It's pretty straightforward. Make a brush entity with the classname func_getoutofjail. If a jailed person touches it, he becomes a live player again. You can also have a sound associated with an escape with the "noise" key, for example "noise" "player/wee.wav"
Useful for making jails with jumping puzzles that you can escape from, or even doing jailbreak style maps.