Navigation operator

This pull request implements the **navigation operator** (aka "null-safe object operator", `?.`) from xp-framework/rfc#212:

```groovy
$instance= null;
$instance?.member;     // null
$instance?.toString(); // null
$instance?.();         // null
```

*Note: For emitter implementers, the "nav" member must be checked in `emitInstanceCall()`, `emitMemberAccess()` and `emitMethodCall()` and handled correctly. If this is forgotten, this will still compile and work seamlessly but not be "null-safe". The recipe for emitting is `(NULL === ($Tn= [target]) ? NULL : $Tn->[action])` (where `$Tn` is a temporary variable and `n` is increased for any nested call.*