Return more informative errors from request/node
Back out incorrect error handling code, and add friendly errors

Closes #4, #5.