Convert /steps to streaming

As the steps are only part of a job, which is the atom being watched, we
need to make sure only that part of the atom has changed. We do this by
comparing the new and old values post munge.
Convert GET /run to stream
Convert /run/:id to stream

This change highlighted the need to check whether the munged value is
not nil and return a 404 if it isn't. This is again due to pulling
values from inside of a larger map stored in an atom