Update container to have ID provided by the user

Signed-off-by: Michael Crosby <michael@docker.com>
Merge pull request #166 from crosbymichael/api-update

Update container to have an ID provided by the user
Remove sampling from libcontainer CPU stats.

Sampling should be done by higher layer in configurable intervals. This
change removes the percentage stat as sampling is required for this.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
syncpipe: read from parent before reporting error

Docker-DCO-1.1-Signed-off-by: Bernerd Schaefer <bj.schaefer@gmail.com> (github: bernerdschaefer)
Get UID and GID for device nodes

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Merge pull request #170 from soundcloud/syncpipe-read-before-close-child

syncpipe: consume from parent before closing child
Merge pull request #173 from crosbymichael/device-ownership

Get UID and GID for device nodes
Merge pull request #174 from vmarmol/no-sleep

Remove sampling from libcontainer CPU stats.
Remove erroneous reference to `path` in description and error list;
add format description for `id` string;
add "invalid format" error for `id` string;
remove initial capitals on references to parameter names;
remove reference to `initialConfig`;
add description of id checking.

Signed-off-by: Steve Powell <spowell@pivotal.io>
Merge pull request #172 from cf-guardian/create-api

Correct Create() api call description in Factory interface.
user: *: refactor and expand libcontainer/user API

This patch refactors most of GetUserGroupSupplementaryHome and its
signature, to make using it much simpler. The private parsing ftunctions
have also been exposed (parsePasswdFile, parseGroupFile) to allow custom
data source to be used (increasing the versatility of the user/ tools).

In addition, file path wrappers around the formerly private API
functions have been added to make usage of the API for callers easier if
the files that are being parsed are on the filesystem (while the
io.Reader APIs are exposed for non-traditional usecases).

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
user: lookup: added os/user-like lookup API

This patch adds an os/user-like user lookup API, implemented in pure Go.
It also has some features not present in the standard library
implementation (such as group lookups).

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
user: add unit tests for GetExecUser

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)