feat(app): support global configuration

`require('gcloud')` will now return a function. When invoking, pass in
an object to persist properties to future sub-module instantiations. You
may also continue to use the static methods on it when global
configuration isn't needed.

BREAKING CHANGE: using new to instantiate a sub-module is no longer
supported. To match, constructors previously used with `new` have been
renamed to all lowercase characters.

Before:
var gcloud = require('gcloud');
var dataset = new gcloud.datastore.Dataset(/*...*/);

After:
var gcloud = require('gcloud');
var dataset = gcloud.datastore.dataset(/*...*/);

Fixes #172
Fixes #191
Merge pull request #196 from stephenplusplus/global-config

support global configuration.
fix(app): allow empty sub-module invokation arguments

Previously, when instantiating a sub-module after providing global
configuration details, we were still requiring an `options` object, even
though it is meant to be optional.
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
feat(docs): versioned docs

'versions.txt' contains the available versions one per line.
The json files containing the docs for for each version are stored in
'docs/json/<version>/'.
'npm run docs' creates the json files in docs/json/development,
and version.txt contains the 'development' versions, to allow to serve
the docs locally in an easy way (using for example static).
Update home.html

fixed branding issues
Merge pull request #222 from bgoldy/master

Update home.html
docs(contributing): document git commit conventions

To introduce contributors to our git conventions, our CONTRIBUTING.md
file now links to the AngularJS contributing document.
feat(docs): rename 'development' version 'master'
Merge pull request #220 from silvolu/versioned-docs

feat(docs): versioned docs
Merge pull request #224 from stephenplusplus/commit-guidelines

docs(contributing): document git commit conventions
fix(connection): allow more connection callbacks

Node's default limit for max listeners on an event emitter is at a low
10. We are using an event emitter internally in the Connection class to
handle queueing callbacks for the token retrieval event. The default of
10 is now lifted to unlimited, so the developer doesn't have to worry
about overriding the default themselves.

Fixes #223
docs(contributing): remove AngularJS confusion

Eliminate potential confusion caused by referring to the AngularJS repo.
We also prefer the use of a `common` scope over `app` for library-wide
changes.

Resolves #224
remove commit formatting requirements - resolves #226
fix headline grammar

-`Unit tests` and `Regression Tests`
+`Unit Tests` and `Regression Tests`