Changed tap and lift to catch errors.

Instead of having the lifted function return an array with an error in it, let
it throw its errors (since that is the sync way to handle errors), and then
catch them and pass them to the callback. If no error is thrown, pass no error
to the callback.
Version bump