Add test for preservation of whitesape in raw input
Prototype option parsing that can handle --

The loop currently used in ts does not handle -- correctly (it continues
parsing options afterward).  It doesn't actually affect or matter to ts itself,
unless perhaps you had a file named -something, but it does affect commands in
other contexts.  This seemed like a good place to prototype the behavior.
Update ts to use more robust option parsing loop

See previous commit.  Also takes the opportunity to cleanup the formatting of
option handling.