Change how exports are written

Most debug tools, such as the Chrome console, were displaying
"module.exports" for every class. By changing how the classes are defined
and doing the export on a different line the tools can correctly detect
the name of the object.
documentation updates
updated more docs
documentation header updates
moar documentation updates
add new docs
new builds