Removed dead import, updated javadoc and added another test - perhaps the most important one :>
Updated tests for BaseObject to check full(-ish) contract of hashCode() and equals(). Fixed errors uncovered and refactored BaseObject a bit to make it more readable.