Cleaned Core and added Javadoc

Cleaned up the code in Core and described the methods / fields in the
Javadoc to make life easier.