Use a serialized executor to fix SimpleConnector close

We were depending on the order (open first, close second) but
throwing callbacks into the default Scala executor which does
not guarantee any order. Switch to a custom executor which
serializes everything. We can't just use same thread executor
because one of these callbacks joins the thread that would
run the callback.
When using CountDownLatch it's good to actually wait for it
Merge pull request #113 from sbt/wip/havocp-connector-close

Use a serialized executor to fix SimpleConnector close