Move _hub_app assignment

In the start() method, we call the Tendril manager's connect() method,
then set _hub_app to True.  However, connect() isn't asynchronous, so
the _acceptor() method will have assigned a value to _hub_app by the
time connect() returns, and thus we will overwrite it.  This moves the
assignment to just before initiating the connect.
Exit on signal

Some notifiers will want to try to reconnect to the hub if the
notifier becomes disconnected.  With the current logic, it will be all
but impossible to actually kill the notifier.  This works around the
problem for now by adding a sentinel to the queue of notifications
that will cause the next() method to call sys.exit().

This is unclean, and a better method is to move the reconnection logic
into NotifierServer itself; however, this is an acceptable solution in
the short term, as the better method will also take more time to
implement.