Fix startup error handling and --create.

* --create uses sys.exit() which was treated as an uncaught error.
* An error occurring early in main_async would cause trying to stop the
  reactor before it was started.

Conveniently, twisted.internet.task.react implements almost exactly the
behavior we want (except that we have to make main_async "never finish"
in the normal case).
Mention gnuradio issue 649 where it affects us.