Compact syntax

This pull request implements xp-framework/rfc#240, xp-framework/rfc#241 and xp-framework/rfc#252 and makes declaring value objects more concise:

```groovy
public class Person {
  protected string $name;

  public __construct($this.name) { }
  public void setName($this.name) { }
  public this withName($this.name) { }
  public string getName() -> $this.name;
}
```

The above is the equivalent of:

```groovy
public class Person {
  protected string $name;

  public __construct(string $name) {
    $this.name= $name;
  }
  public void setName(string $name) {
    $this.name= $name;
  }
  public this withName(string $name) {
    $this.name= $name;
    return $this;
  }
  public string getName() {
    return $this.name;
  }
}
```