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 am torn about this, on one side I do not like the idea that we behave different because we know that the interceptor is X or Y (tomorrow we are going to add a third interceptor and the list can keep on growing). On the other side I would like not to have to add some magic property (as we already have too much magic)