Weak references, more ReSharper

HostIoInterceptor's _subscribers field is now a list of weak references
to IHostIoSubscriber objects.  This avoids a situation where someone
might either forget to detach a log file, or have a script crash before
that line executes, resulting in all of the remaining session's output
being captured.

Help files have been updated to reflect that the calling script must
hold a reference to the LogFile or ScriptBlockOutputSubscriber objects
to keep them alive.  Once the garbage collector comes along, that's all
she wrote.

Also removed the WriteHost method from IHostIoSubscriber, since it
wasn't being called by HostIoInterceptor anyway (that gets sent through
WriteOutput).