feature/3

@Action annotation for TestStep classes
@ActionMethod annotation for methods in a TestStep class
feature/3

Created abstract TestStepScanner class with 2 implementation classes
These classes are concerned with Scanning the classpath for implementations of TestStep

ClassScanner finds @Action annotations and saves them in a map, String action -> Class<? extends TestStep>
MethodScanner finds @ActionMethod annotations and saves them in a map, String action -> Method method
feature/3

Created TestActionException to encapsulate any Exception that occurs due to invalid method or class declarations which have an annotation associated with it. (For example, method annotated with @ActionMethod must take zero parameters and return TestResult)

TestStepFactory makes use of the ClassScanner class to return instances of TestStep based on a String representing the action

TestStepMethodFactory makes use of the MethodScanner class to return Method instances of methods tagged with @ActionMethod based on a String representing the action. This factory returns objects of type TestStepMethod. This is a new (experimental) class that wraps a method to be called as part of a test. This is purely experimental and is not guaranteed to stay
feature/3

added annotations to the test step classes as part of the experimenting I've been doing with issue #3
feature/3

The changes to .classpath may be environment specific, I don't know, so I'll leave it up to someone else to decide whether to approve the change

Added org.reflections to pom.xml
Since the reflection work has gone into testcaseloader, I've also had to add teststeplibrary as a dependency. Once testing is complete, this can probably be moved to be <scope>test</scope> since the test steps are only needed by the testcaseloader when they haven't been loaded by another dependency. When testing the reflection work, the test steps are needed as nothing else loads the steps.
feature/3

Updated the test step iterator to use the TestStepFactory. Previously the XML implementation used a hardcoded map, and XSL had the actions as full classNames
feature/3

Removed abstract method definition from AbstractTestStep. It's an abstract class implementing an interface, so defining it as an abstract method in the abstract class is redundant
feature/3

NoSuchTestStepException is thrown when the TestStepFactory instance attempts to retrieve an instance of TestStep for action, that cannot be found

TestStepMethod is a new experimental class that wraps a method extracted from a TestStep, that is annotated with @ActionMethod. Not yet used or tested, here for experimental purposed only