Feature/variable annotations

With the @OutputVariables and @RequiredVariables annotations extra information can be provided per teststep.

RequiredVariables specify which variables are implicitly assumed to be present in the context (i.e. they are not specified in the @When, @Given, @Then annotation).

OutputVariables specify which variables are stored in the context by the step. These variables can then be used (either implicitly or directly) by other steps.
Possibly, the Context class is currently emtpy and I don't know what it will be used for? I think we can replace it with my implementation?