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