create a Quantum port to reserve VIP address

fixes bug 1129672

The API previously allowed a VIP to be created without verifying that
the tenant had access to the subnet and that the address was valid and
available.  This change modifies VIP creation behavior to create a
Quantum port with the requested address.  If an address is not provided, an
address is allocated using the normal allocation process for the subnet.

This change also renames the port attribute to protocol_port to remove the
ambiguity about which type of port it represents.

Additional tests were added to validate the change in behavior.

Change-Id: Ib19ef653887da568364b4faa0d2c0fac30970b5f
Merge "create a Quantum port to reserve VIP address"