updated all the things

The lib is now full tested and better layed out.
This commit reworks the entire lib but maintains functionality.

Overview:

1. Removed docs, they did not need to be in the lib, however the
   sphinx setup bits have remained in order to allow for them to
   be built.
2. Everything has unit-tests tests
3. Doc tests were added
4. examples in the bin directory were added
5. An argument parser was added
6. logger was better tuned and setup
7. shell commands were added
8. package installation was added

in all, things are all better and more easily consumable.