Add independent documentation module

*  Avoid playing games with docutils module w/in environment
*  Break down classes further into a more managable tree
*  Update all docstrings
*  Update unittests

Signed-off-by: Chris Evich <cevich@redhat.com>