Clean AMethPropdef clients

1. Update code to not rely on specific subclasses of AMethPropdef
2. Implements alternative path where abstract, intern and extern are annotations

The next PR should modify the grammar.