LXC: Implement BalloonInstanceMemory
LXC: Implement BalloonInstanceMemory

This patch implements the BalloonInstanceMemory functionality of the
LXCHypervisor.
Memory ballooning for the LXC container can be done by using the
memory.limit_in_bytes and memory.memsw.limit_in_bytes cgroup
parameters.
The Linux kernel does not kill processes inside the cgroup whose
accounted memory we are shrinking, so the update for
memory.memsw.limit_in_bytes can fail even if the update for
memory.limit_in_bytes was successful, so this function must care that
all cgroup memory limit parameters are consistently updated.

Signed-off-by: Yuto KAWAMURA(kawamuray) <12589a13a27e6c6eeb0b2b8963a6f3e92691a9e2@gmail.com>
Reviewed-by: Hrvoje Ribicic <be5828fca31f89218048bec4189e30a581aa65da@google.com>

mbakke/ganeti,grnet/snf-ganeti,mbakke/ganeti,ganeti-github-testing/ganeti-test-1,yiannist/ganeti,andir/ganeti,yiannist/ganeti,ganeti/ganeti,ganeti/ganeti,leshchevds/ganeti,bitemyapp/ganeti,leshchevds/ganeti,grnet/snf-ganeti,ganeti-github-testing/ganeti-test-1,leshchevds/ganeti,dimara/ganeti,ganeti/ganeti,onponomarev/ganeti,bitemyapp/ganeti,andir/ganeti,dimara/ganeti,andir/ganeti,yiannist/ganeti,apyrgio/ganeti,mbakke/ganeti,apyrgio/ganeti,onponomarev/ganeti