feat($http): allow overriding the XSRF header and cookie name

Add 'xsrfCookieName' and 'xsrfHeaderName' property to $httpProvider.defaults and
http config object, which give the name of the cookie the XSRF token is found
in, and the name of the header it is sent in, respectively.
This allows interop with servers with built-in XSRF support that use different
names.
The defaults match the current hard-coded values of 'XSRF-TOKEN' and
'X-XSRF-TOKEN'.
feat(dateFilter): add `[.,]sss` formatter for milliseconds

Also Implement getMilliseconds() method of TzDate and
add test for this in ngMock.
fix($cookies): set cookies on Safari&IE when base[href] is undefined

Safari and IE don't like being told to store cookies with path set to
undefined. This change ensures that if base[href] (from which cookie path
is derived) is undefined then the cookie path defaults to ''.

The test verifies that the cookie is set instead of checking that cookie has correct path,
this is due to that cookie meta information is not avabile once the cookie is set.

Closes #1190, #1191
fix($compile): rename $compileNote to compileNode

Directives was observing different instances of Attributes than the one
that interpolation was registered with because we failed to realize
that the compile node and link node were the same (one of them
was a wrapper rather than raw node)

Closes #1941
fix(scenario): include error messages in XML output

Fix the XML output of scenario tests so that it properly includes error
messages from failing specs.
docs($q): fix typos
fix(angular.forEach): correctly iterate over objects with length prop

Should handle JQLite, jQuery, NodeList and other objects like arrays
but not other generic objects or instances of user defined types
with length property.

Closes #1840
refactor(angular.copy): use slice(0) to clone arrays

slice(0) is way faster on most browsers
refactor(angular.copy): use array.length=0 to empty arrays
chore(docs): improve docs parser type

previously we barfed on function type definition with optional arguments
like {function(number=)}

this fixes it

I also added a bunch of code that helps to debug incorrectly parsed docs.