made assumptions more easily variable

- made an isAcceptableWord(String) method that allows assumptions to be
adjusted more easily
- added a maximum word length
- added check to ignore words containing only one character being
repeated
Modified driver for easier testing

- made variables for training data file paths, so that testing with
different sets of training data is easy
added stop words functionality (and more...)

- added stop words to SpamChecker
- fixed bug when words were being removed from vocabulary for having
less than 2 frequency
for both classes, was not decrementing total word counts
- updated output to dynamically change with dataset folder name
Merge branch 'master' into skyler