Hystrix non blocking command, a copy paste of hystrix command with
changes to support non blocking behavior
fixed test cases
add comments and copyrights
minor formatting
move setter down to subclasses for backwards compatibility
Organize Imports
Upgrade to RxJava 0.17 - work in progress, tests failing
Upgrade HystrixCommand to RxJava 0.17

- updated unit test that no longer worked with new Scheduler implementation
Upgrade HystrixNonBlockingCommand to RxJava 0.17

- open questions on this class
Moved Unit Tests

- they have outgrown the inner class model
- I have made many things package accessible to make tests work
- several are still breaking because they are accessing private members and I have not decided how to handle them
Opened Access for Unit Tests

- all unit tests compiling
-  not all are passing as the RxJava 0.17 upgrade is still in process
Upgrade Deprecated RxJava Usage
Fixed Unit Test: Subscription Behavior Changed

RxJava 0.17 handles synchronous Subscriptions now so this code needed to be changed otherwise the exceptions never got thrown since the isUnsubscribed() would already be true.
Fixed Unit Test: Class Names

Deriving the full class names for these inner classes was being done wrong and resulted in bad class names when the unit tests got moved.
Make UnitTests use NonBlocking Observables

This reveals the bugs in the current HystrixNonBlockingCommand implementation.
rx.util.functions -> rx.functions
Format Code
RxJava 0.17.0-RC3
HystrixObservableCommand

- unit tests are all passing with both async and sync Observables
- defaults to semaphore isolation but allows thread isolation if an Observable source is synchronous
RxJava 0.17.0-RC4