Added exponential backoff to uploads

Upon upload failure, it doubles the wait time, from a minimum of 30 seconds
to a maximum of 1 hour.