Make spawn_resource script more generic

This refactor is intend to make the spawn_resources
script more generic.

1. Ensures that regular users (non-admin and with
the public endpoints) can create OS test stacks

  - remove creation of tenants

  previously tenants were being created per stack.
  This was problematic b/c

  1. it required access to keystone admin endpoint to
  manage tenants which means that we cannot just use
  OS endpoints as a regular user
  2. it required that contrail sync these tenants

  In order to remove creation of tenants, the names
  of vms and networks needed to be parameterized.

  - depend less on specific ip addresses
  Required a complete rewrite of floating ip address
  logic

  - make flavor creation optional (b/c it requires
    special permissions and will not necessarily
    work against any public cloud

2. Limit requirements on non-open (and non-publically
available) reps

  - make contrail specific ipam config optional

3. stop using user data

The user data code was moved to fabric to make the
code a little better organized between VM
provisioning and system provisioning.

4. removes trailing whitespace

5. install librarian-puppet and modules on
spawn_resource node
update README

to try to document required external dependencies
of spawn_resource script