Moving rstgen stuff over to separate project, boto/bcdoc.
Merge branch 'develop' of github.com:aws/aws-cli into develop
Adding bcdoc as a requirement.
Remove bcdoc for now.
Refactoring based on bcdoc changes.
Adding new man pages and text files that include docs on the filters for Describe* operations. See #85.
Refactor clidriver

No functional changes.

* Allow session to be passed in
* Remove unused code
* Fix long line lengths
Add mock to requirements.txt
Refactor main parser to not store parser attribute

Instead it is passed around as needed.  This allowed
me to refactor the parsers to be more consistent with each other.
Now a 'create_*_parser' will return an ``argparse.ArgumentParser``
object, and all of the logic of chaining these parsers together
has been extracted out of the create_*_parser methods and into a
_parse_args method that is used by both ``test()`` and ``main()``.
Rename a few clidriver methods to be internal

These are implementation specific methods that don't need
to be public.
First take at a hooks module

Very basic and likely missing features.
Use py26 compat unittest import
Add plugin loading/processing module
Allow event hooks to be passed in to load_plugins
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.
Bug fix, add emitter to main()

Not loading any plugins currently.
Load plugins from config file
Use noop emitter if none is passed to CLIDriver
Emit events in clidriver

Added tests for these as well.
pep8 fixes, long line lengths