Added javadocs to all classes

May be incomplete but is mostly done. Didn't add comments to some
methods like getters and setters.