ENH Parallelize CountVectorizer

Add parameter n_jobs to CountVectorizer, similar to one in KMeans
Include timing benchmark on Brown corpus (using nltk)
Include unit tests for the multiprocessing version of CountVectorizer
Fix a few typos
Fix division for Python 3
Change to use Parallel instead of multiprocessing

Update the _count_vocab_process to work with Parallel
Delete old code for _count_vocab
Remove unnecessary tests
Fix iterator 'next()' for Python 3

Update tests to use n_jobs=2 instead of n_jobs=-1
Add notes section in text.py for CountVectorizer

Describe the cases where using n_jobs!=1 might or might not be useful
Add workaround for older SciPy rejecting 0-shape matrix

On older SciPy, transform method in DictVectorizer will reject the
input if the vocabulary is empty (https://github.com/scipy/scipy/issues/2127)
Revert "Add workaround for older SciPy rejecting 0-shape matrix"

This reverts commit 6ad195bba15d1c03e95f5d294b23bea0f660c5e0.
Add empty vocabulary checking for DictVectorizer

Add corresponding tests for DictVectorizer
Add notes on pickleability requirement
Update tests for multiprocess

Update tests to use assert_raise_message
Remove Unbuffered, change to sys.stdout.flush instead
Remove return type check in test