Provide Out Of Memory information in container status

Container processes can get killed by the kernel whenever they exceed their memory limit or when the overall memory available in the system is very low. When containers get killed by the kernel, there is no way to figure out if it died due to lack of memory.
To solve this problem, this patch modified docker to Identify out of memory kills inside containers and indicate that as part of the container status string. Since some containers can gracefully handle OOM kills, this patch does not attempt to bring down a container whenever an OOM occurs.

Ping @crosbymichael @vieux 
cc @bgrant0607
So a special Stop case and a special Restarting case. This will extend to two special ones for System OOM and what ever we might add in the future (or may not). Is there any other reason for you to not like the current signature other than the number of lines this PR changes?