fix(tabs): fire deselect before select callback

Closes #1557
Closes #1566
chore(docs): add roadmap
style(all): enforce no trailing white space
test(datepicker): minor cleanup

Closes #1570
test(dropdownToggle): add test for disabled element
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 >
  ```
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>
refactor(timepicker): move logic to controller
feat(dropdownToggle): support programmatic trigger & toggle callback

Closes #270
Closes #284
Closes #1447
feat(dropdownToggle): add support for `escape` key

Closes #1558
refactor(dropdownToggle): rename module to `dropdown`
refactor(progressbar): remove $transition dependency

 * Remove the need to find out the old value.
 * Reorganize code.

Closes #1564
refactor(rating): use optional binding for `readonly`

Closes #1641
demo(dropdown): remove unneded data-* attributes
refactor(collapse): removed unused di parameter

Closes #1633
test(accordion): remove unused variable

Closes #1646
test(alert): remove unused controller parameter

Closes #1647