WIP: Add support for plugin default configuration

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.
The reason I merged the whole object, is because I was hoping to reuse this mechanism for allowing plugins to declare environments as well. But you are right, it should probably be more selective then that. I'll change it to only merge in rulesConfig property of the object for now.