Initial branch

@brettweavnet could you take a look at this please.  Functionally it works, but there may be efficiencies or best practices I over looked.

I wasnt sure if motd.failed and motd.inprogress should by static or created with a template and have the banner passed in as attributes.