Integrate plugin system with cli driver

* Created main() function in clidriver

This gives room for the plugins to be loaded, rather than
have CLIDriver know anything about the plugin loading process.

As a result, I've updated aws and aws.cmd to use clidriver.main()
instead of creating the CLIDriver instance themselves.

* Load plugins from config file

* Emit events in clidriver

* Also removed the nargs=1 for non lists.  This simplified the unpack
  arg, and it will make it easier for plugins to manipulate the args.

Added tests for these as well.
Add first_non_none_response utility function

To make processing event handler responses easier.