Graph limits

Fixes #787
Hmm, machine_info is a function that returns the promise, and we do call it every time.  The name is confusing, I think.  Would cockpit.util.get_machine_info be better?

The reason there is both DockerClient.get_machine_info and cockpit.util.get_machine_info is that the DockerClient already knows the address.