Rework internals

* Start logger
* Cleanup Rotor module
* Add Rotor.Supervisor
* Add Rotor.FileWatcherPool to track file watchers
* Add Rotor.Runner module
* Rename Rotor.WatchGroupServer to Rotor.GroupServer
  with refactored changes
Rename file
Add GroupServer as worker
Add Rotor.stop_watching/1; Fix some tests
Test and other fixes
Refactor some stuff
Fix tests
Add Rotor.run and Rotor.run_async