This change improves the error handling when interacting with the github
API by enforcing a 5 minute backoff on API call failures as well as
caches the remote branch presence/absence for 24 hours.
This prevents potential crashes when Internet connectivity is
unavailable, as well as from having one's IP address rate limited by Github
if the remote branch on the pi references a branch name that does not exist
under https://github.com/Screenly/screenly-ose/tree/
Prior to this change, this scenario causes the remote branch status to be
checked during every UI request.
Signed-off-by: Nash Kaminski <nashkaminski@kaminski.io>