Replace when with bluebird

Currently has two commits, one for the bulk of the tests conversion and one for the rest.  Will squash if/when this is ready.
`users.read` will return a rejected promise if the user isn't found.  That whole block of code is pointless as if there is a user, it does nothing, and if it doesn't find a user it will have rejected and the `then` won't run anyway.