Update moment.js definitions to 2.8.0

* Update methods for changes up to 2.8.0
* Clean up some whitespace
* Improve some documentation
moved up to line 347 for better organization