Add ArgumentArray with #raw

This replaces `arguments` with a custom `Array` subclass that implements `#raw`, which returns the arguments *including* the `--` which can be used for disambiguating arguments (e.g. `git checkout -- HEAD` vs `git checkout HEAD --`).