Work on bug #1192: block=1, session_watch problems. The http_channel
now includes an observer interface so that objects using it
can be notified when it's destroyed. This is combined with the
watch mechanism. Tests shows that this change fixes first problem
as described in bug #1192. Second problem is also fixed. If a watch
is already registered on show records, subsequent requests will not
block. The third and fourth problems are not solved by this. While
the show raw (pass through) does not uses session watch, it is still
fixed to use the http_channel observer. This commit also fixes two
leaks.