Add support for post-deployment provisioning.

 * This change adds provisioning for:

   - demo usage - adds demo tenant, cirros image, and configures
     quantum networking
   - tempest configuration - checks out the tempest tree and
     configures tempest.conf to work with resources provisioned
     for demo usage
   - ovs external bridge configuration - ensures that the ovs external
     bridge is correctly configured to support VM connectivity via
     floating ips

 * Only a single-host deployment is supported at present, due to:

   - the openstack puppet modules presuming local access to the
     different services' configuration files (e.g. /etc/nova/nova.conf)
   - the ovs bridge configuration only being valid for a single-host
     deployment.

Change-Id: I485baedfe63ba90d221b6e376eb5d5aeb14e0d93
Add firewall rules for demo outbound connectivity

Change-Id: I9714247409bb5c106731a393282be45eb72ee239
If allinone and quantum selected, install basic network

Also ensures that selecting os-quantum-install=n on the CLI
doesn't cause installation to error out.
Change-Id: I1f4df4a93a1e7f4d513d47d4589792e8c39e13e0
Build keystonerc_demo for demo user

If provisioning a demo network with a demo keystone user, create
the keystonerc_demo file. Also makes the demo user password
configurable.

Change-Id: I4b85a3389c273dc9d77d0cd6674b9b59f633afa7
Ensure ip forwarding on L3 agent hosts

Change-Id: Ie53a3bb6879a2c40dd915382eec56bbce64f9faa