Angular templates asset

### Synopsis:
This will allow the directory in which your angular templates live to contain jade and/or html and will compile (in the case of jade) and put them in the $templateCache.

This does work with the `@rack.assets` object if you have multiple assets and are using `assets.url(...)` in your jade templates.

Need to add the example to the readme but the only notable bit is the need for a `templateCacheDirname` option **for each AngularTemplatesAsset asset**. The value of the `templateCacheDirname` option is the dirname of the `templateUrl` you will be using in your angular routing configuration or directives to reference the template file.

### Example:
This example will compile html and jade documents located on the filesystem in the `__dirname + '../widget/app/views'` directory, and embed them in JS file served by the server at `'/js/widget/templates.js'`.

_NOTE: all files in the `templateUrl` should use the `.html` file extension (including jade templates)_

#### Server
Project directory structure:
```
  MyExpressApp
  ├── app.js
  ├── assets.js
  ├── public
  │   └── js
  │       └── (nothing on FS here)
  └── widget
      ├── app
      │   ├── controllers
      │   ├── directives
      │   ├── services
      │   └── views
      │       ├── view1.html
      │       └── view2.jade
      └── test
          ├── e2e
          └── spec
```
In your projects `assets.js`:
```
...
  new rack.AngularTemplatesAsset({
    url: '/js/widget/templates.js',
    dirname: __dirname + '../widget/app/views',
    templateCacheDirname: '/widget/views'
  }),
...
```

#### Client
In an angular route config:
```
...
  $routeProvider
    .when('/view1/:id', {
      templateUrl: '/widget/views/view1.html',
      controller: 'MainCtrl'
    },
    .when('/view2/:id', {
      templateUrl: '/widget/views/view2.html',
      controller: 'MainCtrl'
    },
  )
...
```