fix(timepicker): add correct type for meridian button

Closes #1541
chore(modal): fix tests for IE9

Check if transitions are available before attempting to wait for them.

Closes #1537
Closes #1540
chore(tests): Update to AngularJS 1.2 for testing

- Use unminified version for easier debugging
chore(alert): Fix test for Angular 1.2

- Since Angular 1.2 is now using the ng-hide class to hide the element,
  it needs to be added into the DOM for styles to be computed.
chore(timepicker): Fix tests for Angular 1.2
chore(datepicker): Fix tests for Angular 1.2
chore(tooltip): Fix tests for AngularJS 1.2

AngularJS 1.2 introduces separate isolate scopes for directives that
require isolate scopes.

See https://github.com/angular/angular.js/commit/909cabd36d779598763cc358979ecd85bb40d4d7
and https://github.com/angular/angular.js/commit/27e9340b3c25b512e45213b39811098d07e12e3b
chore(tabs): Fix tests for AngularJS 1.2

- Use ngBindHtml with $sce as ngBindHtmlUnsafe has been removed

See https://github.com/angular/angular.js/commit/dae694739b9581bea5dbc53522ec00d87b26ae55
chore(tests): move test helpers to one place
chore(all): switch to AngularJS 1.2 version
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...