daemon: Zero unlimited memory limits in CGroupMonitor

When memory cgroups have no limit, they set to G_MAXSIZE of the number
of bits of the platform. This is much easier to detect in C code than
in javascript, so set these to zero (ie: no memory limit) in
CGroupMonitor.

Reviewed-by: Marius Vollmer <mvollmer@redhat.com>
daemon: Add tracking of CPU shares into CGroupMonitor

This lets us see changes in this setting.

Reviewed-by: Marius Vollmer <mvollmer@redhat.com>
web: Load default Memory, CPU, TTY settings from image config

Closes #379

Reviewed-by: Marius Vollmer <mvollmer@redhat.com>
web: Refactor sliders into MemorySlider and CpuSlider objects

We want to use these sliders in multiple places. make them real
objects, albeit private to the docker code.

Reviewed-by: Marius Vollmer <mvollmer@redhat.com>
web: Read Docker container memory limit from CGroupMonitor

It could have changed since the container was launched, so don't
use the container config. We want to be able to react to changes
in the system appropriately.

Reviewed-by: Marius Vollmer <mvollmer@redhat.com>
web: Pull docker formatting of CPU and memory into util funcs

Once we start displaying this on the details page we need to
have this be cleaner.

Reviewed-by: Marius Vollmer <mvollmer@redhat.com>
 * Although didn't apply one comment
web: Implement changing docker resources while cgroup running

Implement a rudimentary way of changing the memory limit and CPU
priority while the cgroup is running.

Closes #405
Fixes #402

Reviewed-by: Marius Vollmer <mvollmer@redhat.com>
 * Although didn't split out some minor code
web: Set minimum scales for graph row bars on containers pages

These prevent things like 4 MiB from taking up the whole width
of the column.

Fixes #393

Reviewed-by: Marius Vollmer <mvollmer@redhat.com>