feature/out of tree checks

These changes allow us to easily host brakeman checks outside the source tree. We have custom checks that aren't generally meaningful and would be cumbersome to others if they were in the source tree.

This is a slight modification to the original pull request (https://github.com/presidentbeef/brakeman/pull/483) on this topic that should fix the travis build. I created a new pull request because merging the previous one up to master was annoying.

Your previous feedback that this code `require`s using absolute paths rather than the current code which uses relative path still holds. My thought was that directories of checks outside brakeman's root dir could be anywhere and using relative paths in that case might be finicky. Thoughts?
I was using `wwtd` to simulate travis locally and run the test suite against multiple Ruby versions. On my local system, the ruby-2.0.0 test run fails but all the other Ruby versions pass for brakeman. However, If I wrap `ruby test/test.rb` with `bundle exec`, then the test suite passes for all Ruby versions, include ruby-2.0.0.

`wwtd` calls `ruby test/test.rb` directly without wrapping it with a `bundle exec`: https://github.com/grosser/wwtd/blob/master/lib/wwtd/run.rb#L25 which I suspect leads to using the wrong version of several dependencies.

I also don't see indication in Travis-CI's ruby documentation (http://docs.travis-ci.com/user/languages/ruby/) that it wraps a script with `bundle exec` --- it only uses bundler to install the gems into the initially clean test environment.

* example run of `wwtd` when it reaches ruby 2.0 without `bundle exec`: https://gist.github.com/aetherknight/3cd2d4ec51ab440320b7