Initial unit test of ipam.
Added test for deallocated mac

* Tested deallocated mac being allocated upon reuse successfully.
* Added consistency in ipam allocated_mac when allocating from new mac and
  deallocated mac.
Tested for failing to allocate mac on deallocated

* Also, added boolean consistency in ipam.py query.
Tested allocating second mac on same m.a.r.
Tested exception when m.a.r. is fully allocated.
Tested allocate_mac_address for multiple m.a.r.'s.

When multiple mac address ranges are present the mac address should be allocated
onto the mac address range that has the most mac addresses already allocated to
it.
pep8 cleanup
Refactored common code in test to create and insert m.a.r.
Added tests for deallocate_mac_address
Patched tests dealing with timeutils.utcnow()

Also, replaced datetime.utcnow() with timeutils.utcnow() for patching.
Merge branch 'testing_ipam'