Cloud Foundry libcontainer API proposal

This proposal aims to satisfy Cloud Foundry's requirements.

* Remove StartIn and re-define RunIn.

* Factor the API into separate interfaces and split into
  multiple files for ease of comprehension.

* Introduce API package to avoid confusion with non-API declarations
  in the existing libcontainer package.

* Make Config an interface and introduce configuration setter
  interfaces.

* Add forced stop.

* Re-instate GetStats in api.go

An earlier version of the proposed API is available in a Google doc:
https://docs.google.com/document/d/1vBNDhLdwK4YdP6uq08Xrc8bnF1g68oFbcEqDGErIYeA/edit?usp=sharing

Avoid pointers to interfaces: The implementation can check for "half
nil" interface values using checks like
`x == nil || reflect.ValueOf(x).IsNil()` instead of `x == nil`.

Docker-DCO-1.1-Signed-off-by: Glyn Normington <gnormington@gopivotal.com> (github: glyn)