Basic takeUntil implementation
Tests for TakeUntil
Merge branch 'master' into TakeUntiFunctional

Conflicts:
	rxjava-core/src/main/java/rx/Observable.java
Refactored TakeUntil operator
Reimplemented Last operation
Basic MostRecent implementation
Unit tests for MostRecent Operator
Updated Observable API
Implemented GetIterator operation
Implemented Defer Operation
implemented OperationDematerialize
added dematerialize api to observable
unit test for OperationDematerialize
updated dematerialize unit tests to use mockit
optimize imports
Updated logic to match Rx.NET
Refactored TakeUntil to use TakeWhile.
Cleaned up comment
Draft group by implementation
Concurrency improvements