Don't leave pods running when a job completes. (kubeflow#512)
* Don't leave pods running when a job completes.
* We originally did this to preserve the logs.
* But this ends up leaving pods running consuming resources.
* The fix is straightforward
* Transition to the cleanup phase before transitioning to the done phase.
* Don't teardown the cluster.
* Don't set phase to cleanup when job is running.
* Should only call get status if we are in creating or running phase.
* Update the E2E test
* Check that pod/service event creations are recorded
* Check that pods are deleted when job ends.
* Fix lint.