Better handle .all run errors

The only significant change here is returning the callback on errors in the .all run callback, and also returning when the cursor is null (which could happen if the include lib passes in an include for an association that doesn't contain a foreign key value).

I also prettied up the package.json deps with the newer npm preferred syntax. Super unimportant, but I was (unsuccessfully) attempting to get on the latest rethinkdb drivers which solve an Array.prototype modification bug that has been plaguing me for weeks.