Adding #recoverWith

Basically the negative case for map. This method relies on the user to
return a promise for it to work. Resolves #15