Major update (r3)

Object-oriented some of the more complex functions to allow them to
return more data. Various fixes and improvements.
Minor documentation fixes
Update README
Update README
Merge pull request #1 from dfreelon/master

update