fix(datepicker): remove edge case position updates

Closes #1296
feat(typeahead): add typeahead-append-to-body option
refactor(buttons): remove some code duplication
fix(modal): Grab reference to body when it is needed in lieu of when the factory is created
revert(typeahead): prevent accidental form submission on ENTER

Closes #1298
This reverts commit 253c49ff26c1bb6c324a0549bc51ee4f45f66429.
fix(modal): focus freshly opened modal

Closes #1187
feat(modal): add modal-open class to body on modal open

Closes #1254
docs(typeahead): add async version of the demo
docs(typeahead): show custom template implementation

Closes #1441
fix(modal): properly animate backdrops on each modal opening

Closes #1267
test(tabs): get test coverage to 100%

- Add one removal of a non-last tab to test one last branch
- This excludes the deprecation message for the tabs directive.
refactor(tabs): remove unused tabs directive
chore(tabs): Add tests for nested tabs

Relates to #783
fix(tabs): make nested tabs work

This reverts commit 220e7b60124105aca25e57c3f01a22e12fa77cc2.

Revert the capability to set the tab direction. This is no longer a
feature in Bootstrap 3 and breaks nested tabs.

Closes #783
Relates to #659
fix(carousel): cancel timer on scope destruction

Closes #1414
refactor(carousel): remove duplicate code

Move go function out of restartTimer as it doesn't need to be re-created
during each interval.
fix(carousel): cancel goNext on scope destruction

Discovered after #1451
test(typeahead): increase coverage of tests
chore(test): add test coverage task

Run `grunt test:coverage` to see a the test coverage in the terminal.
fix(collapse): dont animate height changes from 0 to 0

Closes #1424