Add configuration plugins to the clientv2 framework.

A configuration plugin is a component that allows a commandline
to have objects which perform some kind of configuration option
ahead of actually invoking commands. For example, a configuration
plugin could add options to perform a security handshake before
connecting to a production cluster.

Bugs closed: aurora-220

Reviewed at https://reviews.apache.org/r/18265/
Clean up idea module configuration, make sure generated sources are available.

Reviewed at https://reviews.apache.org/r/18297/