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
Use AnsibleError instead of exit for errors in utils
Fix minor typo in playbook error message
Merge pull request #3946 from wincent/spelling-fix

Fix minor typo in playbook error message
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