quantum_network should not default network provider type to local

It should allow the Quantum service to decide based on its configuration.
Add support for role defaults. These are variables on a per role basis with lowest precedence.
Correctly handle option user_install in gem module
Merge pull request #3861 from djoreilly/quantum_net_types

quantum_network should not default network provider type to local
Merge pull request #3942 from jocelynj/gem

Correctly handle option user_install in gem module
Fix issue 3908. There was some ilegal operations over the sets
The cloudformation module argument spec should match the documentation, so that template_parameters is a required argument.
Merge pull request #3956 from jlafon/cloudformation

The cloudformation module argument spec should match the documentation.
Initial work for the AES cipher class

This is based somewhat loosely on how Keyczar does things. Their
implementation does things in a much more generic way to allow for more
variance in how the cipher is created, but since we're only using one
key type most of our values are hard-coded. They also add a header to
their messages, which I am not doing (don't see the need for it
currently).
Initial commit for the "fireball2" connection plugin

Still needs:
* chunked file transfer/receive
* should probably move all send/recv operations to separate
  functions to reduce code duplication
* initial connection setup over ssh? or do we handle that in runner?
Fireball2 mode working!
Fireball2 module will now launch in a proper tmp path
Bail out correctly if socket.recv gets nothing (indicating a closed socket)
Initial support for sudoable commands over fireball2

Caveats:
* requiretty must be disabled in the sudoers config
* asking for a password doesn't work yet, so any sudoers users must
  be configured with NOPASSWD
* if not starting the daemon as root, the user running the daemon
  must have sudoers entries to allow them to run the command as the
  target sudo_user
Initial support for running gather_facts through fireball2
Added accelerate_port to plays, and made it configurable
Adding chunked file transfers to fireball2
Fix bug with fetch when using sudo: true

Fixes #3111
quantum_network: fix some doc mistakes

- tenant_name was missing.
- comments were on wrong tasks.
- error message had a reference to glance.
Merge pull request #3963 from djoreilly/quantum-net-doc

quantum_network: fix some doc mistakes