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