Tidied up Javadocs and made API more readable - Closes #77

Also removed all the explicit toString() checks referenced in #7.