Cleanup messageFormatter example to use logs from build steps instead of directly using build logs

Current example ignores build steps and directly fetches build logs, this change fetches the last completed step first and then goes about extracting build logs from said step. Makes for a better example to follow
OK, my :+1: caused confusion: it was for the code snippet @jaredgrubb proposed.

As for the logic, there's a number of things:

* the code is called when the build is finished, so I'd expect at least one step to be finished --> the `break` will happen
* however the situation when the build is finished, but no steps seems to be a special case and  needs to be handled differently

So, in my opinion,

```python
for ...
    ...
else:
    ...
```

would need to be used, though *not* as a 'fallback' for the case "we could not find any finished steps", but as a handler for the special case.  (I looked at the `build.getLogs()` and essentially it just collects all logs from all steps.)

(I'm sorry so many thoughts went through my head when I was reading it, but since I was tired, my summary happened to be just :+1: )