refactor expression parser. fixes #1

provide new expression types:
* null coalescense operator ??
* member access .
* subscript []