Fix bug with pos tagger not tagging one-letter words

Also pass unicode strings to functions in en.py
Add Tagger classes.

This allows users to change which POS tagger implementation
is used.

Also, use run_test.py for testing.
The script excludes tests when necessary via nose's attr decorator.
For example, exclude test the NP extractor tests that can only run on Py2
Can now pass POS tagger to TextBlob constructor

Also, fix the test script
Lazily train the NP extractors for MUCH faster imports
Rename text.np_extractor -> text.np_extractors

Also, add maxent_treebank_pos_tagger to download_corpora.py