Shutdown GirlFriday::WorkQueue on connection close

Since the handler_queue is lazily initialized, all we have to do at connection
close time is shutdown the queue and nil it out. Any subsequent reference (such
as in #receive_data) will automatically re-create it, if necessary.
Always allow user to #close a Blather::Client

* If it failed to open properly, @stream might not be set, which means
  that calling #close on the Blather::Client might not be safe (it will
  raise a StreamNotReady error in the bowels of EventMachine).

* If a stream is not connected (i.e., there is no @stream or it's been
  stopped due to EM having called #unbind on it), then don't try to
  close it on Blather::Client#close