Issue #12 - change default behavior of merge
Attempted tests fix
Issues #11, #13, #14

- Add initial implementation of the reactive-streams protocol (issue #11)
- Observable.subscribe should return Cancelable (issue #13)
- Get rid of the monifu.reactive.api package (issue #14)
Issue #11 - move the reactive streams interfaces in monifu.reactive.streams
Issue #11 - make Publisher/Subscriber to be invariant
Issue #10 - add timer, amb, defaultIfEmpty, dropWhileWithIndex
Fix SubscriberAsObserver implementation
Override new operators in Subject
Merge branch 'upstream-master'

Conflicts:
	monifu-rx/src/main/scala/monifu/reactive/Subject.scala
	monifu-rx/src/main/scala/monifu/reactive/streams/SubscriberAsObserver.scala
	monifu-rx/src/test/scala/monifu/reactive/BehaviorSubjectTest.scala
	monifu-rx/src/test/scala/monifu/reactive/BufferedObserverTest.scala
	monifu-rx/src/test/scala/monifu/reactive/ConnectableObserverTest.scala
	monifu-rx/src/test/scala/monifu/reactive/MergeTest.scala
	monifu-rx/src/test/scala/monifu/reactive/ObservableOperatorsOnRangeTest.scala
	monifu-rx/src/test/scala/monifu/reactive/ObservableOperatorsOnUnitTest.scala
	monifu-rx/src/test/scala/monifu/reactive/ObservableSanityTest.scala
	monifu-rx/src/test/scala/monifu/reactive/PublishSubjectTest.scala
	monifu-rx/src/test/scala/monifu/reactive/ReplaySubjectTest.scala