feat(directive): ng:focus, ng:blur

Added directives for focus and blur events.

Closes #1277
chore(ngdocs): fix improve button overlap
fix($compile): allow data: image URIs in img[src]

Ref: 1adf29af13890d61286840177607edd552a9df97

BREAKING CHANGE: img[src] URLs are now sanitized via a separate
    whitelist regex instead of sharing the whitelist regex with a[href].
    With this change, img[src] URLs may also be data: URI's matching
    mime types image/*.  mailto: URLs are disallowed (and do not make
    sense for img[src] but were allowed under the a[href] whitelist used
    before.)
docs(jqLite): document "$destroy" event
chore(resource): use minErr to throw exception
chore(sanitize): use minErr to throw exception
feat(Angular): provide minErr as public property

This allows us to use minErr in other modules, such as resource and sanitize.
test(ngRepeat): add a test for ngRepeat when using 'track by' and a filter
fix(core): parse URLs using the browser's DOM API
docs(ngRepeat): add example for filters in conjunction with `track by`
docs($window): improve style and clarify wording
docs(input): fix example

The input [number] error spans did not show on the example, as they were
relying on an non-existing property (myForm.list.$error) vs the working
property (myForm.input.$error)
fix(Scope): ensure that isolate scopes use the main evalAsync queue

Previously any $evalAsync task scheduled from a isolate scope or a child of an isolate scope
would never execute because we never flushed this queue
fix($compile): always instantiate controllers in parent->child order

Previously it was possible to get into a situation where child controller
was being instantiated before parent which resulted in an error.

Closes #2738
chore(dump): remove dead code

This code is not being used any more and the test is now failing
due to Karma changes. Karma used to expose window.dump but that
changed recently and that's why our build is now failing.

I'm removing the code and test, but we still need to figure out
how to route window.dump through angular.mock.dump, but that will
have to be a separate commit.
fix(dump): Prevented window.dump from being overridden by karma-jasmine.

In commit 6820322db562382fac903be35831275948825317 of Karma-Jasmine, the
dependency on angular.dump was removed. This caused two undesirable side
effects in the angular.js project. 1) Tests for presence of mock dump were failing,
and 2) the default window.dump was not outputting valuable angular-aware info. This
simple fix adds window.dump in testabilityPatch, to preprocess dumped input prior
to passing it to the global dump method.
docs(index): add seed app link to menu item
docs(cacheFactory): correct typos
docs(bootstrap): Note that ngScenario requires ngApp

ngScenario expects an ngApp directive to be used, and doesn't work for
manually bootstrapped apps. The failure mode is to hang on navigation.

Trying to make this wont-fix bug less obscure by documenting it.
Eventually Protractor will replace ngScenario and fix this.
fix($$urlUtils): remove dependency on $window

$window may be mocked out in tests causing those tests to fail.  So
don't use $window.