feat($goKey): Sync local object w. GoInstant key

The $goKey service has been introduced, it takes a single argument, a
key.  $goKey returns a model, the standard `key` methods are exposed,
prefixed with a '$'. This model will be kept current with the key.

Note: Changes to the object are not persisted back to the key.

For example, to return a collection of todos:

$scope.todos = $goKey(lobby.key('todos'));
$scope.todos.$sync();

To add a new todo:

$scope.todos.$add({
  description: 'a fresh todo',
  complete: false
});

Each of the methods with the exception of $sync, returns a promise.

Additional minor changes:

Also added grunt-contrib-watch, it adds `grunt watch`, which:
- monitors the lib folder and runs component build -d
- monitors the build file and live-reloads

Closes #28, #23
docs(model.md): Model landing page / guide
docs(docs/v1/model/*): Adding GoAngular model documentation
feat($goKey): Accepts a string vs. a key

goKey will now accept a key, string or an optional room name, defaulting
to 'lobby'.  It will ensure that the room has been joined prior to
perfoming an operation on a key.

resolves #31

Conflicts:
	docs/v1/API/goConnection.md
Addressing CR feedback
Merge pull request #27 from goinstant/mattcreager/23-feat-sync

feat($goSync): Sync local object w. GoInstant key