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 looks less nice than the old way, IMO. `new (require('./rules/validate-jsdoc'))()` really is quite hard to understand at first glance.