test_bulletml_data: only import unit tested modules
data: use structs instead of classes
action: load the label of the action
flatten: parameters are 1-indexed

Also perform bounds-checking.
runner: there's no need to return the current()
runner: we're also done without a 'wait' action
runner: don't run actions twice
runner: only check the next sibling witha parent