bot-status.py: Split getting bot status from writing it

This means we can get status from other (aka Buildkite)
bots before rendering them all as one page.

The favion HTML has been moved to the end of the page
because of this. It still works as before.

Along the way use a tuple as the key to the bot status
dict. It's just as hashable as a string and we don't print
the keys anywhere so readability is not an issue.

Change-Id: I95e1e43c406ef1f81b36f7e7338131b7b769a128
1 file changed