When an images does not exist just return `False` instead of raising a RuntimeError. If anything else goes wrong (unknown output or hash mismatch) keep the RuntimeError as this is an unexpected exception.
Make make_container a context manager so we can reliably clean up containers that were created in tests.