Conditional KIF

Additions to KIF that allow tests to be written with branching and iteration. Also contains accessibility identifier support and a standard way to pass information between steps in a scenario.