update doc
begin documentation
rollback sphinx documentation
remove inline namespace
various build changes
update log to be mostly header only. add versioning