add tests for completions
improve detection of completion support for commands

Enable JavasCript, Lua and Erlang scripts to provide completions
saner assertions for multiline output
simplify iterating through arglist
un-indent shebang for test executables
better emulate `ruby -S` behavior in testing

Per https://github.com/ruby/ruby/blob/7d3db3c/ruby.c#L1383-1391
add tests for rehash, whence, which
undo `assert_output_lines` in tests

It was a dumb idea and it wasn't even implemented perfectly.
add tests for version commands
add tests for `help` and `rbenv --version`
Merge branch 'test-coverage' for MAXIMUM COVERAGE