packstack/neutron: add ml2-plugin role

Change-Id: I2789169304e3badfa59fb43ca23f5e646c2a1bb2
Refactors tempest role into setup and run

Splits tempest role into setup and run. Changes include
- split tempest/tasks/main into tempest/setup and tempest/run
- define appropriate defaults for the two new roles
- move common tasks to playbooks/tempest.yml
- minor: renames all tempest['foobar'] to tempest.foobar for legibility

Change-Id: Ibb788ed993b826de5dbcefe5d0995c5a539521d7
tempest: multiple setup methods (packstack, config_script)

Adds a flag tempest.setup_method to select how tempest should be setup
Preserves the existing behaviour to use the packstack/puppet scripts to
setup tempest. Setting tempest.setup_method to tempest/config_script would
use the redhat-openstack/tempest config_tempest script to setup and
generate the tempest.conf file.

Change-Id: I4e99a87a1df46ec34adf09ee3b05784030754b72
Support astapor and openstack-puppet-modules from source

Source support for astapor already present. Adds support for
openstack-puppet-modules from source. Cannot use git module yet since
recursive is not supported until Ansible 1.6.

Must set use_astapor, astapor_branch, astapor_repo and use_opm_src,
opm_branch, opm_repo.

Change-Id: Id00f4d0fcea4d41b0ec5cebdf739dbf0391421be