Revert "Remove support of ! only support new syntax"

This reverts commit 807bedeb7aa6aab3193e03e489c37fa8975cb118.
Refactor exclamation mark test and parse loop

The parse loop now handles '!' as an empty message, it supports
the methodsFor: message even if it's not followed by a '!'.
It makes the '!' support more robust only a method needs to be finished
by a '!' and the method parsing escape with a '!'

Object methodsFor: 'bla'.
foo
  ... !
bar
  ... ! ! anything else ...

or:

Object methodsFor: 'bla'!
foo
  ... !
bar
  ... ! ! anything else ...