Allow version to be specified for the allocation.

Skip ip_blocks that do not match the specified version
Make IP allocation less sieve like

The model abstraction abstraction combined with pluggable allocation
was leaking ips/allocatable_ips very very badly on a heavely loaded
system. Move ipv4 allocation into the model directly so we can use
a row level lock inside a single session to toggle allocation.
Merge pull request #25 from jkoelker/version_allocateion

Allow version to be specified for the allocation.
Merge pull request #23 from jkoelker/allocation_single_table

Make IP allocation less sieve like