doc(input): fix small typo in code example
fix(dateFilter): correctly format ISODates on Android<=2.1

In older Android browsers, `undefined` does not act like `0` in some
arithmetic operations. This leads to dates being formatted with `NaN`
strings in the dateFilter because the implementation of the `dateGetter`
function allows offset to be an optional parameter.
The fix is to convert offset to 0 if it is undefined.

Closes #2277, #2275
fix(select): ensure empty option is not lost in IE9

Fix a check inside render for select elements with ngOptions, which
compares the selected property of an element with it's desired state.
Ensure the placeholder, if available, is explicitly selected if the model
value can not be found in the option list.
Without these fixes it's up to the browser implementation to decide which
option to choose. In most browsers, this has the effect of displaying the
first item in the list. In IE9 however, this causes the select to display
nothing.

Closes #2150, #1826
feat($cookieStore): $cookieStore.get now parses blank string as blank string

closes #1918
fix(angular): do not copy $$hashKey in copy/extend functions.

Copying the $$hashKey as part of copy/extend operations makes little
sense since hashkey is used primarily as an object id, especially in
the context of the ngRepeat directive. This change maintains the
existing $$hashKey of an object that is being copied into (likewise for
extend).
It is not uncommon to take an item in a collection, copy it,
and then append it to the collection. By copying the $$hashKey, this
leads to duplicate object errors with the current ngRepeat.

Closes #1875
docs($window): fix example
style($compile): clarify argument name
test(sortedHtml): fix comment support in sortedHtml helper
test(sortedHtml): ignore bogus rowspan=1 and colspan=1 in IE
chore(docs): use done() in gen-docs.js
docs(tutorial): add comment about injection annotation

Closes: #1163
docs(Angular.js): move forEach docs to correct position
docs(guide): fix typo on model name