change how REST api errors are handled

Process the json object into an error object if there are errors. This
is more idiomatic for node than to return true | false for the error
argument.
lock down dependencies in package.json

Yes, shrinkwrap exists too, but we should also specify the correct
things in package.json.
Merges in pull request from @shtylman for standard nodejs error handling
Swaps out the bits of code to be more node like and sends errors first, then response if success
Additional spec to display errors for smtp
Shrinkwrap update
Refactors sendgrid.js to be a bit more standard node module like and updates README
Fix README
Update shrinkwrap and README with instructions on how to get back to 0.2.x