fix(scope): watches can be safely unregistered inside watch handlers

Closes #2915
feat(ngDocs): add links to source for API

 - add tests
 - the link points to the gruntUtil.getVersion().number tree on github
fix(ngValue): made ngValue to write value attribute to element
revert: feat(ngDocs): add links to source for API

This reverts commit 61fb5863df4afe0fad688a44ff78b245b8439db2.
fix(ngSubmit): expose $event to ngSubmit callback