Better configuration, plugin support

What I did for this pull-request:

* Remade the configuration: now it looks simpler, cleaner, straight.
* Achieved 100% test coverage for the configuration.
* Prepared sample changes for pluginization: https://github.com/jscs-dev/jscs-jsdoc/pull/14
* Created plugin support.
* Wrote tests for plugin support.
* Simplified CLI logic a bit.

@mikesherov, @markelog, @mrjoelkemp, please take a look.

(I will squash the changes before the merge)
Good question!

I believe it won't be difficult. For example, we can have `getInvalidOptionNames()` method in future.