#222 Fixes problems with excessive GC by re-implementing the CachingRegistry. Now uses arrays as much as possible and is an overall simpler design internally. Cancel no longer removes a Registration from the list. Instead a Registration is aware of it's cancelled status so refuses to match against any keys and returns null for an object when cancelled, rendering the Registration invisible. The cancelled Registration object is reclaimed when the array grows to accommodate new Registration objects and copies over any Registrations that aren't cancelled.

Combined with these changes is the use of a naive hashCode for anonymous objects, which is what Composables rely on. This means objects created with $() do not have a "real" hashCode implement but instead use a much, much faster AtomicInteger counter to provide an arbitrary hashCode value that does nothing more than ensure uniqueness. The throughput gain for mapMany tests was increased by about 30% over using the system hashCode() implementation.
Fix failing tests.
fix import
Update to use AtomicIntegerFieldUpdater and volatile fields for less overhead
FIx a bug in cache priming for ObjectSelector objects.
put back Lifecycle interface checking
revert excessive field delete
comment irrelevant test
add test for cacheMiss on non 'direct' selector which are prime cached
add test for ObjectSelector cacheMiss (test if prime caching is functional)
Add registry#clear and fix TcpConnection#Close
Fix implementation for Spring module
Fix TCP tests and reorder unregister connection
Merge pull request #229 from reactor/optimized-registry

Optimized registry rebased on master