Improvements to Poller and Backgroundable

Event-loop improvements
* Made Poller an interface and moved to api package
* Added methods to Poller for enable/disable (somewhat analogous to register/unregister)
* Fixed re-indexing pollables bug
* Added support for managing background threads other than PAIR sockets
* Added method to Backgroundable for shutdown, called by ManagedContext
* Added some javadoc (more to come)