Set threads to daemons so they don't prevent system from exiting

- This applies to any pools RxJava itself creates. It will be up to users to do this for Executors they inject.
Name the NewThreadScheduler threads
Use long instead of int

 … considering very long running app with lots of IO events.
Fix non-deterministic unit test