Deal with API errors

* updated middleman to pass errors back
* more consistently use cb(err, data) convention
* deal with 503 errors (Heroku down)