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
it's not, setting it as $stateful was just a really stupid hack, it's not the right way to do this. it was added because the decision was to make $stateful equate to essentially the opposite of bind-once