feat(minErr): Include version number in prod minErr urls
fix($compile): don't check attr.specified on non-ie7

the specified attribute is depricated and creates warnings in Firefox

Closes #3231
Closes #2160
feat(ngMobile): emit 'swipeleft' and 'swiperight' events

Similar to ngMobile clicks, these events were not capturable by other
directives. Now they emit 'swipeleft' and 'swiperight' events that can
be follow with element.on('swipeleft', ...).
chore(ngdocs): replace showdown.js with marked.js
feat(ngMock): support delay limit for $timeout.flush
feat(ngMock): $timeout.flushNext can expect specific timeout delays

the $timeout mock's flush method allows flushing queued up requests
but doesn't allow to for checking with what delay a task was queued
up. flushNext flushes the next queued up task and can asserts the
scheduled delay.
chore($compile): removed unused variable
fix(grunt): change css wrapping to prepend styles to the top of the head tag

angular.css is used by the utils.js CSS wrap operation, but ng-hide or
any other CSS styles present in angular.css cannot be overridden unless
the styles appear before the stylesheet is in place. This fix allows
for this to work
fix($compile): don't use new with minErr

Someone wrote `throw new $compileMinErr(...)` when it should have been
`throw $compileMinErr(...)`. This caused a build warning.
feat(ngAnimate): complete rewrite of animations

- ngAnimate directive is gone and was replaced with class based animations/transitions
- support for triggering animations on css class additions and removals
- done callback was added to all animation apis
- $animation and $animator where merged into a single $animate service with api:
  - $animate.enter(element, parent, after, done);
  - $animate.leave(element, done);
  - $animate.move(element, parent, after, done);
  - $animate.addClass(element, className, done);
  - $animate.removeClass(element, className, done);

BREAKING CHANGE: too many things changed, we'll write up a separate doc with migration instructions
chore($animate): replace show/hide with addClass/removeClass
fix(ngInclude): $animate refactoring + use transclusion

BREAKING CHANGE: previously ngInclude only updated its content, after this change
ngInclude will recreate itself every time a new content is included. This ensures
that a single rootElement for all the included contents always exists, which makes
definition of css styles for animations much easier.
chore(ngView): $animate refactoring + transclusion & tests

BREAKING CHANGE: previously ngView only updated its content, after this change
ngView will recreate itself every time a new content is included. This ensures
that a single rootElement for all the included contents always exists, which makes
definition of css styles for animations much easier.
fix(ngAnimate): $timeout integration and cancel callbacks added
fix($animate): make animation onComplete callbacks async
chore(ngdocs): fix docs search to properly hide the X button when collapsed
chore(.gitignore): ignore npm-debug.log file
docs(tutorial): add that the test also creates a controller
docs(tutorial): add formatting

the string literal {{query}} was missing as it was not enclosed into ``
fix(animate): move forEach so it can be accessed as needed