Configuration: design review

This is a design review.

**Plugin support** with a bunch of **configuration simplification**. 

I suggest to simplify configuration routines to a pair of files:

* `Configuration` — base configuration class. Works in any environment, used by `StringChecker`.
* `NodeConfiguration` (temporal name) — `node.js`-specific configuration class. Works in `node.js`.

This replaces all configuration code in `Checker`, `StringChecker`, files at `lib/options`. Can replace routines at CLI-module during further development.

Still we can keep full backward compatibility. This is just an internal redesign.

/cc @markelog, @mikesherov, @mrjoelkemp 
can you leave a comment here explaining why we need to explicitly enumerate each rule. I know it's for browserify, but would be good to have that noted in the code.