docs(form): minor form doc and example fixes

Form documentation fixes:
- Fix broken form example in docs
- A few small other corrections in form docs.
docs(faq): add info on logo reuse and how to get t-shirts and stickers
docs(forms): fix code example for a custom form control

Closes #1021
docs(guide): fix typos in unit test guide
revert: fix(a): prevent Opera from incorrectly navigating on link click

This reverts commit c81d8176cc55cd15acae05259ead73f90a01f0b7.

This commit causes several issues (#1651, #1674, #1662) and doesn't even
contain a test that proves that anything on Opera got actually fixed.

If the original Opera resurfaces, we'll fix it properly.
refactor($browser): remove faulty 20+ cookies warning

the warning is defunct (and the test is incorrect) so obviously nobody is using
it and it just takes up space.

also the browser behavior varies (ff and chrome allow up to 150 cookies, safari
even more), so it's not very useful.

Closes #1712
fix($injector): remove bogus fn arg

getService fn takes only one argument, removing the second one.

Closes #1711
fix(jqLite): make next() ignore non-element nodes

next() is supposed to return the next sibling *element* so it
should ignore text nodes. To achieve this, nextElementSibling()
should be used instead of nextSibling().
fix(jqLite): children() should only return elements

The jQuery implementation of children only returns child nodes of the given element that are elements themselves. The previous jqLite implementation was returning all nodes except those that are text nodes. Use jQLite.contents() to get all the child nodes.

The jQuery implementation of contents returns [] if the object has no child nodes.  The previous jqLite implementation was returning undefined, causing a stack overflow in test/testabilityPatch.js when it tried to `cleanup()` a window object.

The testabilityPatch was incorrectly using children() rather than contents() inside cleanup() to iterate down through all the child nodes of the element to clean up.
Update docs/content/misc/faq.ngdoc

Updated the canonical video to a recent one. Fixed a typo.
fix(date): parse string input as local time unless TZ is specified

previously we were always parsing the string input as UTC which cased issues like:

{{ '2012-04-01' | date:'d MMM yyyy' }} renders as 31 Mar 2012

BREAKING CHANGE: string input without timezone info is now parsed as local time/date

Closes #847
style($compile): fix indentation
feat($compile): support modifying the DOM structure in postlink fn

Support modifying the DOM structure in the post link function of a directive
by creating a defensive copy of the node list, as opposed to a live DOM list.
This is useful for directives to actually replace their entire DOM fragment,
e.g. with the HTML fragment generated by a 3rd party component (Closure, Bootstrap ...).
Fix the indentation of the compileNodes function (was one too little).
chore(*): remove obsolete files
doc(directive): Fix typos in dialog widget

Fixes #1799
fix($compile): safely create transclude comment nodes

Closes #1740
fix($route): support route params not separated with slashes.

Commit 773ac4a broke support for route parameters that are not seperated
from other route parts by slashes, which this change fixes. It also adds
some documentation about path parameters to the when() method and
escapes all regular expression special characters in the URL, not just
some.
docs(CHANGELOG): fix typo
fix(scenario): don't trigger input events on IE9

input.enter() should trigger 'change' rather than 'input' event on IE9 because
input events on IE9 are broken and angular doesn't rely on them
chore(Rakefile): generate version.json

Changes 'rake version' to output a version.json file which
contains the structured version info which can be used in other tools.