fix iterating through paths that have spaces in them

Fixes #344, #196
add tests for exec
fix exec fails for invalid version
hack around the hack around bash `echo`
test completions for exec
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
Merge remote-tracking branch 'upstream/master' into rbenv