Make sure that if a container can't start we set the exitcode to non-zero value

See #8379 - if the container doesn't start I added code to make sure that if no other processing sets the
container.exitCode to a non-zero value when we make sure its done before we return.  I also made sure that while trying to start the CMD/ENTRYPOINT, if it fails, then we set the container.exitCode to the exitStatus from the exec().

Closes #8379

Signed-off-by: Doug Davis <dug@us.ibm.com>
I think this has to be set before you call `container.toDisk()` or the value will not be persisted in the case of the daemon crashing.