Shuffle with Android-centric packages (#65)

This change introduces new, Android centric packages including

 * rx.android.content for android.content related classes
 * rx.android.view for android.view related classes
 * rx.android.widget for android.widget related classes
 * rx.android.util for package agnostic classes

Then it moves existing classes based on their Android counterparts.

Although one of the goal is to reduce the number of publics,
this change still does nothing but class move. More changes will follow.
Split AndroidObservable to ContentObservable and ViewObservable (#65)

This allows some contnet-related internal classes package local.
Split part of ViewObservable to WidgetObservable. (#65)

Some ViewObservable methods are for android.widget.* classes.
This change moves  these to newly introduced WidgetObservable.
This turns some internal classes from public to package-local.
Move Assertions from util to internal.
Merge pull request #66 from omo/reorg

Android-centric package reorganization (#65)
Fix observeOn() invocation order.

It should be called before lift() so that the operator can observe it on the main thread.
This change also adds some test for other bindXx() variants to get better coverage.
Refactoring OperatorViewDetachedFromWindowFirst

1. Renaming to OnSubscribeViewDetachedFromWindowFirst.java
2. Adding tests to assert the desired behaviour
3. Refactoring to avoid the "instantiate and forget" approach
within OnSubscribe.call(..)

Signed-off-by: David Marques <dpsmarques@gmail.com>
Making OnSubscribeViewDetachedFromWindowFirst.java package protected

Moving OnSubscribeViewDetachedFromWindowFirstTest.java to the right
package so the test can access the target class.

Signed-off-by: David Marques <dpsmarques@gmail.com>
Making style fixes and removing usage of junit.* classes.

Signed-off-by: David Marques <dpsmarques@gmail.com>
Added LifecycleEvent enum

Can be used for all the major Activity and Fragment events.
Added OperatorSubscribeUntil and tests

The issue with takeUntil() is that it calls onComplete() in the parent; that
is not exactly the behavior we want, so this should take its place.
Added LifecycleObserver and tests

- Added bindUntilLifecycleEvent(), which automatically unsubscribes when a
  particular LifecycleEvent is emitted by a lifecycle.

- Added bindActivityLifecycle() and bindFragmentLifecycle(), which figure out
  when you want to bind a subscription until.
fixup! Added OperatorSubscribeUntil and tests
fixup! Added LifecycleObserver and tests
fixup! Added OperatorSubscribeUntil and tests
Rename OnSubscribe subclasses to OnSubscribeXx

This aligns RxJava convention.
Merge pull request #67 from omo/observeon-first

Fix observeOn() invocation order.
Merge pull request #77 from omo/onsubscribe

Rename OnSubscribe subclasses to OnSubscribeXx
fixup! Added LifecycleObserver and tests
Implementing an OnSubscribe that emits a Cursor as it moves to next.

This commit removes CursorIterableAdapter.java and implements the
Cursor navigation and safe closing in one place.

The option to use doOnTerminate(..) will not work as well to close
the Cursor since downstream operators while emiting errors would
not pass through the operator closing the Cursor.

Signed-off-by: David Marques <dpsmarques@gmail.com>