test(modal): remove unneeded injection

Closes #1632
fix(alert): use interpolation for type attribute

Closes #1460

BREAKING CHANGE: Use interpolation for type attribute.

  Before:

  ```html
  <alert type="'info'" ...></alert >
  ```
  or
  ```html
  <alert type="alert.type" ...></alert >
  ```

  After:

  ```html
  <alert type="info" ...></alert >
  ```
  or
  ```html
  <alert type="{{alert.type}}" ...></alert >
  ```
refactor(typeahead): Move typeaheadEditable out

Unfortunately, this depends on typeaheadEditable running after the post
linking function of the typeahead directive.

Note this and solve this later.
feat(typeahead): Add typeaheadController

Maintain feature parity. Some duplicate code.
refactor(typeahead): Remove extra calls to loading
refactor(typeahead): Clean up select logic
feat(typeahead): Move select into controller

- Add selectListeners
feat(typeahead): Move scope variables into ctrl
feat(typeahead): Add convenience methods

Right now these are private methods.
feat(typeahead): Add queryParsers

queryParsers support promises, which can get interesting...
refactor(typeahead): Move out typeaheadMinLength

Using query parsers, this can now be its own directive.
refactor(typeahead): Move out waitMs logic

And the magic of promises...
fix(typeahead): don't rely on order of $parsers (WIP)

Add tests later for order of $parsers.
refactor(typeahead): remove duplicate parserResult
chore(carousel): update, simplify doc comment example
demo(buttons): use labels instead of buttons for groups

 * Align with BS3 markup.

Closes #1323. Closes #1482
fix(tabs): use interpolation for type attribute

Closes #1409

BREAKING CHANGE: Use interpolation for type attribute.

  Before:

  <tabset type="'pills'" ...></tabset >
  or
  <tabset type="navtype" ...></tabset>

  After:

  <tabset type="pills" ...></tabset>
  or
  <tabset type="{{navtype}}" ...></tabset>