Fix orchid deadlocks

* Fix a couple of deadlocks (CircuitIO, CircuitManagerImpl)
* Switch CircuitIO, CircuitManagerImpl and ConnectionImpl to cycle detecting locks