utils: add makeNodeResolver function.

Many Firebase methods take Node.js style callbacks where the first
argument is null do indicate success or contains error information.
Angular uses promises to handle asyncronous flow. The original
[Q](https://github.com/kriskowal/q) library by kriskowal (upon which
had Angular promises are based) had a `makeNodeResolver` function
that eased integration of the two different async flows.

This utility function replicates that feature. Usage is as follows:

```javascript
var defer = $q.defer();
ref.resetPassword(
  {email:'somebody@somewhere.com'},
  $util.makeNodeResolver(defer) //automatically resolves/rejects promise
);

defer.promise.then(...) // use the promise as you normally would
```
Refactor FirebaseAuth to use makeNodeResolver
makeNodeResolver should check error === null instead of falsy
makeNodeResolver - compact additional args into an array.
Merge remote-tracking branch 'upstream/master' into utils-node-resolver

Conflicts:
	src/FirebaseAuth.js
Merge pull request #488 from jamestalmage/utils-node-resolver

utils: add makeNodeResolver function.
Merge remote-tracking branch 'upstream/master' into firebase-auth-tests