implemented with when/rest and tap/argeparse/havarsine

There are TODO comments inline where there is still work to do. The
tests do run and are working well. Copy tests.sh to mytests.sh and
replace with API-KEY to run the tests. You can specify mock or acts for
the provider.
many improvements
Merge pull request #12 from BusTicker/when-done-rest

implemented with when/rest and tap/argeparse/havarsine