Add mock to requirements.txt
Refactor clidriver

No functional changes.

* Allow session to be passed in
* Remove unused code
* Fix long line lengths
* Main parser does not store parser attribute
* Rename a few clidriver methods to be internal
* pep8 fixes, long line lengths
First take at a hooks module

Very basic and likely missing features.
Add plugin loading/processing module
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.

* Add first_non_none_response function.
Merge branch 'plugins' of git://github.com/jamesls/aws-cli into jamesls-plugins
Merge branches 'jamesls-plugins' and 'develop' into develop