router/testing: added method Reset to fakeRouter
router/testing: improve implementation

Actually managing routes and backends :-)
router/testing: make the registered router public

It will be easier to test if the router is public :-)
router/testing: unexport FakeRouter
router/testing: rename Instance to FakeRouter

Now that the type is unexported, we can export the variable.
provision/docker: fix tests related to FakeRouter
provision/docker: updating information of containers on CollectStatus

When we restart Docker daemon, it allocates a new IP and a new host port
for all running containers. Whenever the port to a container changes,
hipache is not able to access it anymore. We need to remove the old
route and readd it.

Updating the IP is also important, because we try to connect at the
allocated port in CollectStatus (net.Dial). Updating the IP in the
database prevents the unit from become "installing" (after a collector
execution).

Last, but not least, in order to detect changes in the host port, we
need to store it in the database (I've committed it in
88eda7f13079369ef0136ad4e99b4f41c268c2c7).
provision/docker: fix tests

Now we need to create the backend before being able to add new routes,
even in the fakeRouter. I know it's more verbose, but with this change,
it's now more real.
provision/lxc: fix compilation of tests
provision/lxc: fix router interaction