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>
Added a copyFile() to utils.go which reads from source and writes to destination.  Replaced the call out to cp with a call to copyFile().