Adding annotations for controlling which tests to run

Each test method can be annotated with the `@Suite\RunIf` annotation
(if the Suite namespace is used, see diff for details). By passing
(currently) `@Suite\Passed` or/and `@Suite\Failed`, the user can
control, which tests will be run based on the outcome of user executed
code.
Running tests regardless of whether execution failed