Generic methods

This pull request implements xp-framework/rfc#214 and adds generic methods:

## Declaration

```php
class Arrays extends \lang\Object {

  /**
   * Creates a list 
   *
   * @param  T[] $arg
   * @return util.collections.IList<T>
   */
  #[@generic(self= 'T', return= 'util.collections.IList<T>', params= 'T[]')]
  public static function asList($T, $arg) {
    $list= \lang\XPClass::forName('util.collections.Vector')->newGenericType([$T])->newInstance();
    $list->addAll($arg);
    return $list;
  }
}
```

## Usage

```php
$list= Arrays::{'asList<string>'}(['a', 'b', 'c']);
$list= Arrays::{'asList<string>'}([1, 2, 3]);         // lang.IllegalArgumentException
```