Unittest actions

This pull request implements xp-framework/rfc#272 and adds unittest actions, although it uses `@action` as annotation instead of the dotted class reference notation

```php
class PathTest extends TestCase {

  #[@test, @action(new \unittest\action\IsPlatform('WIN'))]
  public function leading_backslash_yields_current_drive() {
    // ...
  }
}
```

## Actions
This pull request includes these three ready-to-be-used actions:

### unittest.actions.ExtensionAvailable
Implements the `TestAction` interface to skip tests when a given PHP extension is not available.

```php
[@action(new ExtensionAvailable('openssl'))]    // Only run test if "ext/openssl" is available
```

### unittest.actions.IsPlatform
Implements the `TestAction` interface to skip tests on certain platforms. Uses the `PHP_OS` constant to compare against.

```php
[@action(new IsPlatform('WIN'))]       // Only run test on Windows
[@action(new IsPlatform('ANDROID'))    // Only run test on Android
[@action(new IsPlatform('!*BSD'))      // Do not run if platform contains "BSD"
```

### unittest.actions.RuntimeVersion
Implements the `TestAction` interface to skip tests on certain PHP versions. Uses the `PHP_VERSION` constant to compare against.

```php
[@action(new RuntimeVersion('>=5.3.0'))]     // Only run on PHP 5.3.0 upwards
[@action(new RuntimeVersion('5.4.*'))]       // Run on any PHP version starting with PHP 5.4
[@action(new RuntimeVersion('!=5.3.7'))]     // Do not run on PHP 5.3.7
[@action(new RuntimeVersion('5.3.0,5.3.1'))] // Run on PHP 5.3.0 and 5.3.1
[@action(new RuntimeVersion('~5.3'))]        // Run on PHP >= 5.3.0 and < 6.0.0
```

The version syntax is the same as the one used in [Composer](http://getcomposer.org/doc/01-basic-usage.md#package-versions).