api and test cleanup

While writing the documentation I realized that several things were out
of order. So they got cleaned up.

* Removal of unnecessary _no_inc
* Removal of oninc()
* onend, oninterval and onstart now return this
* async internal clocks now begin after the user has run their fn
* Tests have been cleaned up and expanded
initial commit of better documentation

Yey!