fix($rootScope): minor typo fixes
docs($parse): document function argument types, fix minor typo
feat($parse): added `constant` and `literal` properties

* `literal` is set to true if the expression's top-level is a JavaScript
  literal (number, string, boolean, null/undefined, array, object), even
  if it contains non-literals inside.

* `constant` is set to true if the expression is known to be made
  entirely of constant values, i.e., evaluating it will always yield the
  same result.

A consequence is that a JSON expression is guaranteed to be both literal
and constant.
feat(scope): only evaluate constant $watch expressions once