Add a pref for filter lanaguage.

Adds a config pref for a filter language and a language field to filters. Only filters whose language field contains the config pref appear in the filter menu.
Fix search highlighting on warning searches when the extents
were returned out of order by the database.
Add tests for warning searches.
Make a few tweaks before merging.

* Change "language" to "languages", since it's a list now.
* Don't share a single mutable list between filter instances.
Unabbreviate filter_lang.
Merge the filter_language option. Close #264.

This lets us limit the options in the Filters menu to those relevant to the codebase in question: not showing C++ filters for a Rust project, for instance. We plan to obsolete this before long with proper support for multiple languages within one codebase. Rethinking the Filters menu UI will be required before that.
Fix bug with filters
Try to fix tests under clang 3.3.
Update to peep pre-1.0.

Shouldn't make any difference for us. I'm just testing the new peep changes before releasing peep 1.0.
Merge fix for search highlighting on warning searches. Close #266.
Only !merge local vagrant params when present

If vagrantconfig_local.yaml is empty `YAML.load()` will eval to false and upon
running `vagrant up` you will get the error: "ERROR loader: Vagrantfile load
error: no implicit conversion of false into Hash." This patch checks to make
sure some YAML was parsed before merging it.