feat(datastore): move Dataset.key() arguments to array

Specify parameters in Dataset.key() in an array instead of as a list
of arguments. Single parameter can be specified sans in an array.

BREAKING CHANGE: Dataset.key() no longer accepts arguments list of
parameters and no longer requires null parameters for an unknown
identifier when creating incomplete keys. Single kind can still be
specified without surrounding in an array.

To migrate the code, simply surround arguments in an array and
remove the trailing null if you have it. See the example below.

Before:

var key1 = dataset.key('Company', null);
var key2 = dataset.key('kind1', 123, 'kind2', 'id2');
var key3 = dataset.key('kind1', 123, 'kind2', null);

After:

var key1 = dataset.key('Company');
var key2 = dataset.key(['kind1', 123, 'kind2', 'id2']);
var key3 = dataset.key(['kind1', 123, 'kind2']);
Merge pull request #209 from ryanseys/key-docs

Dataset.key() docs + proposal for simpler API
chore(build): run regression tests from travis

Run regression tests from travis after merging to master (encrypted
files are not available for pull requests from forks).
Remove environment variables from .travis.yml if favor of per-repo
configuration on travis UI.
Temporarily remove docs generation from build.
Merge pull request #217 from silvolu/regression-keys

chore(build): run regression tests from travis
fix(build): decrypt credentials only on master
Merge pull request #219 from silvolu/fix-build

fix(build): decrypt credentials only on master
fix(connection): set token expiration date for GCE

A response from the GCE metadata server responds with data in a
different format from that of the GAPIToken() request. Instead of
looking for a property that doesn't exist `token_expires`, we now
calculate the expiration timestamp from `expires_in`.

For more, see [Authenticating from Google Compute Engine][auth].

[auth]:https://developers.google.com/compute/docs/authentication#applications

Fixes #212