refactor($parse): don't use bind-once interceptor for non-bind-once expressions

Side-effects:
  - Logic for allOrNothing watches now lives in $intercept rather than $parse

Closes #9958
I recall jbedard had another version of this that avoided interceptors here entirely though, which is probably good, i have to look at it though