Poller refactoring, replace Timer with ScheduledExecutorService
- Replace Timer with ScheduledExecutorService (closes #258 (closed))
- Move automatic connection logic from PluginManager to Poller
- Reschedule polling when connections are opened or closed, making the poller more responsive to reductions in the polling interval