error handling

Hello @sjkaliski, 

Please review the following commits I made in branch 'r-medina-error_handling'.

8f4a7ec8145febcd9eb2656ca43993b94e1f99e8 (2014-08-24 14:39:01 -0400)
added error handling + a lil refactoring
accidentally got rid of userReq during merge

uberError not exported. better Error() method


R=@sjkaliski
VISIBLE_CHANGES=errors from the server are now parsed and returned