fix(jqLite): triggerHandler support unbind self

Fixes .one if the event is invoked from triggerHandler.

Closes #5984
fix(docs): change plnkr form to open in same window

Form previously posted to target="_blank", but pop-up blockers were causing this to not work.
If a user chose to bypass pop-up blocker one time and click the link, they would arrive at
a new default plnkr, not a plnkr with the desired template.

This fix removes the _blank target, causing the plnkr to open in the current window/tab.
feat($compile): change directive's restrict setting to default to EA (element/attribute)

Previously we defaulted just to A because of IE8 which had a hard time with applying css styles to HTMLUnknownElements.

This is no longer the case with IE9, so we should make restrict default to EA. Doing so will make it easier to create
components and avoid matching errors when creating new directives

BREAKING CHANGE: directives now match elements by default unless specific restriction rules are set via `restrict` property.

This means that if a directive 'myFoo' previously didn't specify matching restrictrion, it will now match both the attribute
and element form.

Before:

 <div my-foo></div> <---- my-foo attribute matched the directive
 <my-foo></my-foo>  <---- no match

After:

 <div my-foo></div> <---- my-foo attribute matched the directive
 <my-foo></my-foo>  <---- my-foo element matched the directive

It is not expected that this will be a problem in practice because of widespread use of prefixes that make "<my-foo>" like
elements unlikely.

Closes #8321
WIP make Q more bloobirdy
WIP subset of Bluebird functionality / implementation

Things remaining:

1. Make this compatible with the original $q implementation

2. Sort out the error logging story (make use of Bluebird's machinery for this + $exceptionHandler by default)

3. Remove more bits that aren't needed for Angular.
WIP bluebird
WIP add promises-aplus-test-adapter-prefix.js
MORE WIP
WIP fix $compile tests
WIP make it a tiny bit faster, maybe...