grammar: rename leading_track_spec() -> user_set_current_track()
introduce test command 'a-test', prints 'aa-test'
adjust do_part: order to try to execute a command first.
This is to try to support using hyphen instead of underscore.

+do_part: command end
 do_part: track_spec command end
 do_part: track_spec end
-do_part: command end

add comment... tried changing trackspec: to use
existing_track_name, however this breaks tests.
a-test command
autocomplete support for hyphenated commands
correctly process hyphenated commands
add key