Migrate search features to use Haystack 2.x

This currently uses haystack 2.0.0 and whoosh 2.4.1. Note, this is not
latest stable versions of either due to incompatibility issues. See
http://stackoverflow.com/a/19502309/407954
Add comments to explain the Haystack functionality being used
Update search document templates to not render None values

This utilizes the template filter `default` to replace None values with
and empty string.
Searching for the empty string returns zero results
Fix formatting for flake8
Define a fixed set of data values to test against

One of values failed ("IT") due to it being a stop word. To prevent these
hidden issues from cropping up as development continues, an explicit set
of values are now tested.