Allow passing allocation subnet to `docker run`

This is an extension of PR #5829. This PR allows passing a subnet to `docker run` for the IP allocator to pick an address from.

Example usage:

````
docker run --ip 172.42.44.10 myimage
docker run --ip 172.42.44.10/32 myimage
docker run --ip 172.42.44.0/24 myimage
````

This obsoletes #5829 as you can pass a specific IP in addition to a subnet/range.

I haven't added anything in the way of documentation. I wanted to put this out in its current form and make requested changes first.
Allocating of every time next IP from range was done by reason. IP on low-level not released immediately, so we had some troubles with ARP and such things.