Make StompPlugin async; make it shut down on stop

I ditched the JMS interface in favor of StompJms's own client code.

This fixes a few problems:

* Server didn't reconnect to message broker properly. Now it does,
  though it does drop one message in the process because the Stomp
  client library is broken. (I'm too lazy to write a reduction and file
  a bug.)

* The onStop() call wasn't closing conncetions. That was because of
  intricacies in javax.jms that we really shouldn't want to know about.
  (We were calling session.close(), but we needed to call
  connection.close() as well ... only, where should we have stored the
  connection?)

* We were opening three connections instead of one. Again, that's
  because the JMS interface encouraged us to do this.

* We were making messages synchronous. Now they're async. That lets us
  delay completing the Future until we receive an ACK from the server.
  Unfortunately, I don't think the client actually _does_ delay. But
  hey, we can dream, can't we?

* Overview wasn't shutting down properly on Travis, even though it
  received a TERM signal. This caused our test suite to error, as it
  would never return. (This is why I made this change in the first
  place.)

This doesn't solve our problems. The client is buggy and unruly, though
it's the best option available. STOMP is simple; we _could_ write our
own client. Or maybe, if we switch to all-Akka, we can get rid of it
entirely.

Oh yeah, and none of this plugin is unit-tested.