Add support for ignoring warnings

Yes, the apocalypse has arrived. This adds support for ignoring warnings via a configuration file (sorry @oreoshake).

* The config file is JSON list of warnings and some meta-data which is not used right now
* `config/brakeman.ignore` is used by default
* Use `-i FILE` to specify a different file
* Use `-I` to interactively create/update file (recommended)
* You can add notes for ignored warnings
* Warnings are only compared by their fingerprint. This means multiple warnings might be hidden by a single entry in the config file. It also means warnings are still ignored if the line number changes.
* HTML reports have a hidden table of ignored warnings
* Text reports show number of hidden warnings, but not the warnings themselves
* JSON reports have a new key "ignored_warnings"

Also, the output for tests no longer has "warning" warnings, instead these are called "generic_warnings" which makes more sense.

The menus and stuff aren't going to work under JRuby until there is another HighLine release, which I hope is soon.