significant change in supervision, bug fixes

- use os:timestamp() instead of erlang:now()
- supervisors are now linked
- supervisors are now started with application
- workers are now fully supervised