Add better Object overrides throughout

This commit adds some overrides for often used Object methods to the
classes and additionally cleans up some JavaDocs.