PhpDoc and other various cleanups to the main class.

'Objectified' the core class.  Why?  Because I'm picky.
Added some inline phpdoc so people skimming the code can see how to use it.
Added an actual CHANGELOG.