fix: revert removal of unnecessary timeouts to hookup events

The timeouts are needed to hookup the events to prevent event bubbling from being processed imediately. (reverted from commit fe967a8140bb76719ac87312417de1daaaff0220)
fix(datepicker): initial value with ng-required attribute

When using ng-required attribute in datepicker element in Angular 1.3, the element was not passing validation because it was returning a date object from the $formatter. With the new 1.3 pipeline, the $formatter needs to return a string when using an input type="text" element.

Same fix as was done for timepicker (f65fe9ff79c5fa5a3055d4fac82bed1d3bf9f1ca)
feat(tab): add bsActivePane attribute to bind active tab pane

Currently the tab directive is using ngModel to bind the active pane index. This causes the tab control to be included in the validation pipeline and when used inside a form, causes the form to be $dirty. (see issue #1233)

This commit deprecates usage of ngModel and adds a replacement bsActivePane attribute with the same functionality, so it should be a matter of replacing ngModel references with bsActivePane.
docs(tab): add bsActivePane helper attribute description