Bugfix for update_port: dealloc port.ip_addresses

* updated tests to check for deallocate as well
Deallocate IP on update_ip_address if no ports
Added port key to POST /ports (update) response
Implemented DRY for update_subnet, updated tests
Bugfix: deallocate_ip_address in-loop deletion

* Refactored deallocate_ip_address such that list traversal was separate
from deleting elements from the list.
* Updated tests.
Fixed IP address response

Fixed ip_address extension responses key
Fixed scope of ip_address db_api calls
Added version to IP address response
Updated IP address unit tests
Implemented DELETE and GET /mac_address_ranges/<uuid>

* Added exceptions.MacAddressRangeNotFound,
  exceptions.MacAddressRangeInUse
* Implemented tests for plugin.get_mac_address_range
* Implemented tests for plugin.delete_mac_address_range
Test if specified address already exists upon create_ip_address
UUID fields are size 36 instead of 255
Adds unoptimized providernets support

Adds support for the providernets API hooks as well as alternate configs
for NVP lswitches and switch spanning.
Merge pull request #93 from Cerberus98/pnetapi_merge

Adds unoptimized providernets support
Merge pull request #85 from asadoughi/put_subnet_2

Implemented DRY for update_subnet, updated tests
Merge pull request #86 from asadoughi/delete_port_ip_fix

Bugfix for update_port: dealloc port.ip_addresses
Merge pull request #88 from asadoughi/dealloc_ip_fix

Bugfix: deallocate_ip_address in-loop deletion
added wiki submodule
Merge pull request #95 from jkoelker/wiki

added wiki submodule
Merge pull request #84 from asadoughi/delete_mac_address_range

Implemented DELETE and GET /mac_address_ranges/<uuid>
Merge pull request #90 from asadoughi/ip_plugin_response

Fixed IP address response
Merge pull request #91 from kilogram/nvp_driver_database

UUID fields are size 36 instead of 255
Merge pull request #96 from asadoughi/update_ip_fix

Deallocate IP on update_ip_address if no ports