Mo' MoeObject cleanup

As per our conversation, this doesn't go so far as to dick with mutability or anything.  I just leveraged the implicit constructor to rid us of the this() and added some docs and variable renames.  If you like this style then I will work on working up from MoeObject to add it to all the others as I have time/tuits.

* Use the implicit constructor with a default to reduce complexity
* Add scaladoc to methods and class
* Rename some variables to be more descriptive
* Use named parameters in methods, since this is one of those libraries
  that needs to be read by others and it will change often. Future
  proofing!