fix($scrollspy): Remove stale, cached copy on $scrollspy.destroy

In our usage scenario, we used angular-ui-router to show/hide a page
with a scrollspy. Reentering the page did not reattach scroll
listeners, because the ScrollSpyFactory returned destroyed,
dysfunctional, cached scroll spies.
fix(datepicker): correctly parse date if dateType is string (fixes #604)
docs(alert): better docs for service usage
chore(gulp): migrate build/dev system to gulp
test(dateParser): add unit tests where there previously were none

Some of these unit tests currently fail; the next commit fixes them.
There are still several cases that should be tested but are not. These
tests are focused on types that are at least partially broken.
fix(dateParser): fix several broken / flawed regular expressions
chore(gulp): remove coverage reporter for karma:server task
fix(datepicker): handle daylight saving time switch (fixes #630)
fix(tooltip): add workaround for v1.2.14  bug (fixes #542)
feat(raf): provide requestAnimationFrame helper for legacy AngularJS versions
feat(global): use $$rAF instead of $$animateReflow to drop ngAnimate hard dep
test(global): fix unit tests to comply with the new $$rAF leverage
fix(timepicker): properly parse minuteStep and hourStep options (fixes #639)
chore(merge): cherry-pick commit 0cd2872
chore(npm): update devDeps
fix(typeahead): prevent error on enter with an empty list (fixes #631)
fix(datepicker): fix errors while typing invalid values (fixes #623)
feat(typeahead): set model value on scope

Set the model value that the typeahead is connected to on the scope so that custom data-templates can use it.
Example use case would be to highlight the text that is searched for in the template
fix(tooltip): properly fix tooltip/popover freezes (fixes #579)
fix(tooltip): correct scope override as a string