use generators rather than lists for intermediate processing of words
punctuation is removed by strip in norm_words, so it's not necessary in the stopset
ignore compiled python files
split data into training and testing datasets before calculating word scores
added missing tracing
re-factored train_classifier to pull out functions for re-use
GradientBoostingClassifier uses 'learning_rate' not 'learn_rate'