Add checkpoint/restore functionality to nsinit and libcontainer

New code was added to nsinit and libcontainer to use the criu(8) utility
to checkpoint and restore a container.

While there are no hard-coded assumptions about Docker, the new C/R
functionality has only been tested with Docker containers.

The nsinit command line usage for checkpoint and restore is consistent
with the rest of nsinit commands.  However, for easier C/R usage, the
user can specify the container ID on the command line.  The best way
to get started is to run "nsinit checkpoint --help" and look at the
"EXAMPLE:" section.

Signed-off-by: Saied Kazemi <saied@google.com>
Yes, there is nothing in libcontainer about AUFS.  The nsinit command, however, knows about AUFS because it has to set up the container's filesystem on restore.  Once Docker does this, the AUFS code from nsinit will be removed.