implemented disk limits

Implemented a form of flexible disk limits using a combination of:
- mounting an external/loopback volume of an appropriate size as the user home
- devicemapper as storage backend and its max container size configuration to impose a maximum limit of data written at places other than the user home (primarily `/var/log`, `/tmp`, etc.)

The devicemapper `loopdatasize` must be configured to a value such that it will run out of space only if all running containers exceed their allowed capacity. This would ensure no single container can jeopardize all other containers.

Current implementation precreates uniformly sized loopback volumes to mount as user home. This can later be enhanced to have an external allocator/manager process for creation/reuse/destruction of volumes.