The callback has now been moved out of the try/catch block that checks for JSON parsing errors. Fixes Esri#69
Improve variable names by avoiding generic 'data' variable name.

The 'geocode' function was particularly hard to follow because it uses
both 'this.data' and also 'data'. It's not particularly clear what
what the difference is from the name, and it doesn't help that 'data'
can be singular or plural.

I replaced `this.data' with `this.records`, which exactly matches the
name used in the REST API. Accordingly, a single record is referred as
`record`.

With names that mirror the API and with clear singular and plural
nounds, it's easier to follow what's going on.
BugFix: When the JSON parsing of the auth response fails, the callback was reporting success.

The issue was that the callback was returning the 'err' from the outer
function in this case, which was `null`, rather than `error' from catch,
which contained the JSON parsing error.

In addition to fixing the bug, I used a more distinct variable name for
the JSON parsing error to avoid confusion, and clearly labeled the issue
as a JSON parsing error in the returned diagnostic.

Test coverage for the issue is included.
Fix authentication.

After grading from the pre-node-specific version, authentication broke for me.
I traced it to this issue.

I think the old syntax used for 'request' may have not have been valid.
While I see in the `request` docs the use of `.form`, I don't see it
documented in combination with the callback.

In any case, the syntax for calling `request` works now.

Note that the expected args pasted to `request.host` and the
undocumented `requestHandler` were not the same before, and they remain
different after this change. I would expect the `requestHander` should
accept the same arguments as `request` but am not changing it here in
case someone is using this undocumented feature outside of the test
suite. That should potentially be updated as well for consistency.

Also, while looking at `request`, you may wish to bump the dependency up to 2.39.0
in package.json.
Merge pull request #76 from markstos/callback-with-correct-error-in-authenticate

BugFix: When the JSON parsing of the auth response fails, the callback was reporting success.
Merge pull request #75 from markstos/improve-data-name

Refactor: Improve variable names by avoiding generic 'data' variable name.
Merge pull request #78 from markstos/fix-passing-arguments-to-request

Fix authentication.
Upgrade authentication docs to make them more complete, accessible.

* document how it's intended to be used-- as a mix-in
* documennt side-effects-- it sets some properties on the calling
* document what args are passed to the callback called.
* Link to related REST API documentation