avoid double allocation for anonymous selector, remove useless tags field
avoid double allocation for anonymous selector, remove useless tags field
remove selector uuid
No need to do getObject on simple ObjectSelector
Cover map many throughput
Add an implementation of Sliding Window

Sliding window holds `backlog` number of items, and sends itself to the
downstream every `period`.

It's backed by an array, items are written to the `pointer modulo array
size` position. When it's streamed down, tail is positioned before
tail, since it's historically correct.
Rename Sliding Window to Moving Window
Add docstrings
Add for the Moving Window
Merge pull request #227 from ifesdjeen/feature/op/sliding-window

Add an implementation of Sliding Window
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.

Also Lifecycle is now properly used by TCP to clean connections based on
the latest registry improvement (close on cancel).

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