Update: Add support for plugin default configuration (fixes #1358)

As discussed in #1358 
Everything seems to be working currently. I do not like that we are loading plugins twice every time, once in CLIEngine and once in Config, but couldn't come up with a better way to do this. Also, since plugin return object already uses `rules` property for a different purpose then .eslintrc, I assumed another property on the returned object called `rulesConfig`. Maybe that's not the right way to do this, not sure.
I wonder if it would be better to have the config not use the plugin name at all - after all, the rules aren't rates to have their plugin name in the `rules` object that is exported. 

In doing that, we would auto prepend the plugin name in ESLint, which would automatically take care of the issue when someone specifies a core rule or a rule from another plugin.

Thoughts?