Refactor completion code to shell-agnostic names
Split tests, failing test for path completion