Process controllers defined in multiple files

<del> This is very drafty and not meant as a true PR submission. All of the unit tests are passing except the ones related to rescanning. I am stumped..I can't figure out why the call index isn't getting cleared out on rescans. I was curious if you had any thoughts on what could be causing the issue. </del>

This PR is a partial fix for https://github.com/presidentbeef/brakeman/issues/479. This PR now processes all controller files, rather than only keeping state on the last file processed for a given controller class. However, this PR does not address the problem of reverse mapping the name of a method to the file it is defined in. So, it is possible that file locations for controllers will be associated with the incorrect file. This matches the functionality/bugs currently associated with `lib` processing. So, as of this PR both `lib` and `controllers` should be on par with one another. In the future it would be great to fix the actual filename association bug, but that is a more involved effort.