Add missing synchronization
Switch BoundedExecutor queue to ConcurrentLinkedQueue

We should use a ConcurrentLinkedQueue b/c it is a more efficient data structure when you don't need blocking calls and size methods (when compared to LinkedBlockingQueue). This is what it should have been originally.
Add SetThreadName utility
Add Announcer.forceAnnounce()
Add ServiceSelector.refresh()
Add more closeable utility methods