Add batchNotify on Observable - ensure that 1 selection happens for a given iterable group of event. Events will be dispatched once and preselected consumers will be invoked.
Add Composable.buffer to expose batchNotify (grouping events for a single dispatching)
Rename Composable split() to batch() and update ForEachAction to use batchNotify
Minor improvements over ArgumentConsumer that only takes 1 argument
Minor improvements over ActionUtils to browse a buffered stream
Use a Stream subclass when pre-filled values or batchSize set and use an internal BufferAction to  batchNotify() operations
Added a buffered test in ComposableThroughputTests
Only invoke CompleteConsumer once.
Remove flush selector and update flush methods to work as expected (BufferStream will batchNotify and Promise will run asynchronously the supplier)
Merge master and fix minor dispatcher issues
Merge master and fix minor dispatcher issues
Merge master and fix supplier dispatching on Promise
Fix Supplier exception handling
Merge branch 'master' into enhancement-27-batchNotify

Conflicts:
	reactor-benchmark/src/test/java/reactor/core/ComposableThroughputTests.java
	reactor-core/src/main/java/reactor/core/Reactor.java
	reactor-core/src/main/java/reactor/core/composable/Composable.java
	reactor-core/src/main/java/reactor/core/composable/Stream.java
	reactor-core/src/main/java/reactor/event/dispatch/SingleThreadDispatcher.java
	reactor-core/src/main/java/reactor/event/dispatch/ThreadPoolExecutorDispatcher.java
	reactor-core/src/test/groovy/reactor/core/composable/spec/StreamsSpec.groovy
	reactor-core/src/test/java/reactor/core/composable/ComposableTests.java
Put back List type and merge master
100% test coverage for Stream
Add Flushable interface for propagating flushes callbacks
All stateful actions (reduce, collect, buffer, ..) are now Flushable
Add collectWithTimeout, a size and time bound collection
Add FlushableAction to consume flushes
Add SupplyAction to notify an observable with a supplied value
Add StreamSpec#generate(Supplier) to generate values on flush
Add Stream#whenFlush(Predicate) to flush the Stream if predicate matches
Add Composable#consumeFlush(Flushable) callback
Cascade Composable Flush (listens for parent flush)
Add Deferred#batcher(batchSize) to arbitrary produce batching windows from any Stream
 Remove Stream#BufferStream (replaced by deferred#batcher)
 Remove Stream#batchSize constraints on collect, reduce, buffer since flush can drain unbounded batches
 Split Stream#reduce and Stream#scan
 Add Stream#bufferWithErrors to collect errors in addition to values, aimed to be used by services dynamically creating Stream -
 Add Stream#collectWithTimeout to collect up to a timeout limit in millisecond
 Add Stream#propagate to pass the argument values (supplier or iterable) into downstream sink on flush
Merge branch 'refs/heads/master' into enhancement-27-batchNotify
fix test
Merge pull request #286 from reactor/enhancement-27-batchNotify

Enhancement 27 batch notify