docs(ng:submit): update docs example to not add empty items
docs(form): add docs about form submission
fix(route): $destroy scope after update and reload

When we update route (changing only search param, no route reload) and then reload (change to different
route), it did not $destroy last scope.
fix(): use angular.callbacks namespace for jsonp callbacks

Previously we used to put callbacks on the window object, but that
causes problems on IE8 where it is not possible to delete properties
from the window object
style(injector): cleanup of InjectorSpec.js
feat(injector): add $provide.decorator
style(scopeSpec): clean up scopeSpec.js
fix(filter): remove the $ prefix from filter service ids
fix(input): bind inputs to the 'input' event

The input event is fired on all non-ie browsers whenever the contents of an input
field changes. This means that we now support cut&paste via mouse which
was previously unsupported.

IE8 and older don't support this events and IE9 has a problematic
support for it, so we can't rely solely on this event and drop keydown
and change events.
docs(guide): fix $xhr -> $http links
docs(resource): fix params for non-get actions
docs(scope): fix typo $digest -> $watch
refactor: remove old JSTD assertions

So that we can run the tests even without JSTD :-D
style: prefer single quotes + some whitespaces
docs(q): documentation for all $q apis
style(q): reorganize the file + drop fallback dependencies
style(q): rename src/Deferred.js to src/service/q.js
chore(readme): add some links and update test commands
fix(ng:repeat): support repeating over array with null

typeof null == 'object', but it doesn't behave like an object
because its properties can't be dereferenced, so we need
to special-case it.

Closes #702
style(widgetsSpec): ws, unused variables, etc