Implementing IPv6 functionality for ipallocator

Closes: https://github.com/docker/docker/issues/6975
Related to: https://github.com/docker/docker/issues/3609, https://github.com/docker/docker/issues/7042, https://github.com/docker/docker/pull/8308

I have extended the ipallocator to support IPv6 addresses and networks and added some tests.

This is the next step to full IPv6 support.
I am starting the IPv6 allocations at the first IP of the provided subnet.
IPv4 allocations start at the second. That's docker's default.