placeholders in mixin uris for ngHal.

Adds the ability to put placeholders in mixin uris using :, ?, and *
syntax, e.g. `http://meta.prx.org/model/collection/:collectable`.

Matched terms from these templated URIs will be available for injection,
allowing some intelligence in mixin definitions based on the match of
the document. This, unfortunately, means that that code may be executed
more than once.

```javascript
ngHalProvider.mixin('http://meta.prx.org/model/collection/:collectable', ['collectable', function (collectable) {
    return {
        collectableType: collectable
    };
}]);

...

ngHal.mock('http://meta.prx.org/model/collection/puppy').collectableType; // => 'puppy'
```

Refactors ngHal to be a little more composed - multiple factories, etc.
add parameters list to documentation for DocumentPromise to reiterate their use
Merge pull request #10 from chrisrhoden/feat/placeholders_in_mixin_uris

placeholders in mixin uris for ngHal.