Refactor to move towards instance-method-plugin architecture

Our code base is getting unwieldy, and chances are it'll keep on growing given the diversity and scope of all the things we can or want to check eventually. This commit splits our functionality into sections and loads them based on config file specifications. I'm considering merging some of the sections but for now this looks good, we'll see which areas grow as we move forward.

I've also refactored a fair amount of the code to make things cleaner and more concise.