Restart containers based on restart policy

Signed-off-by: Michael Crosby <michael@docker.com>
Cleanup restart logic in monitor

Signed-off-by: Michael Crosby <michael@docker.com>
Add typed RestartPolicy

Signed-off-by: Michael Crosby <michael@docker.com>
Refactor container monitor into type

Signed-off-by: Michael Crosby <michael@docker.com>
Add documentation and update restart rules.

Implement time backed backoff for restarting and fix failure count when
the maximum is 0

Signed-off-by: Michael Crosby <michael@docker.com>