Pluginization

**DO NOT MERGE**

This is for design review for plugin support.

Part of this task: https://github.com/jscs-dev/node-jscs/pull/672
This is:
1. Hard to implement.
2. Impossible to browserify.