Improved iteration with exceptions
Added tests for ArrayList iterator exceptions
Added ability to iterate over HashMap keys
Added tests for HashMap iteration
Added BagOfWords interface to tie Corpus and Document
Added HashSet
Initial tests for HashSet
Refactored BagOfWords.getUniqueTokens() to use HashSet instead of ArrayList since the elements always need to be unique
Corpus now implements BagOfWords
Document now implements BagOfWords
Added missing override annotations
Fixed Corpus.getUniqueTokens bug caused by changes in Document.getUniqueTokens