Add: ability to process multiple results

As part of getting ready to allow the user to query with keywords that
the system then uses to pull from Twitter a set of matching tweets, we
modify the web server so that it can handle processing and displaying
the classifications for multiple documents at once.
Add: use keywords to search Twitter for tweets

Instead of typing in the text of a single tweet to be classified, users
may enter keywords, which will be used to search for matching tweets
from Twitter that will then be classified and displayed to the user.
This is progress towards gh-9.

Currently we use a heuristic to determine if the query string is a
document to be classified or a set of keywords to be used for searching.
To be considered keywords, the query must be 3 words or less and must be
less than 30 characters, otherwise we assume it is a single document.
Fix: check Twitter credentials even if config

For the Stream class, if the user passed a config file with the Twitter
credentials then we did not check if the credentials were nonempty. This
could cause silent failures, so it is better to check the values even if
we are using a configuration file.