Improved Orchid thread handling

* thread titles and daemon = true
* don't get stuck in an infinite loop creating a circuit when shutting down
* document FIXME for ConnectionCacheImpl and pending connections on shutdown

Guava has ThreadFactoryBuilder for this:

Executes.newCachedThreadPool(new ThreadBuilderFactory().setDaemon(true).setName("CircuitCreationTask worker").build());

However having written it out I'm unconvinced this is actually better (damn java's verbosity) so I leave it up to you whether to change things or do it different in future.