Improved '--' handling

If there are a double dash in the `args`, we can just throw away following arguments and push them directly to `argv._`. This allows us to remove any checks for `--` from the following code therefore making it more mistake-proof.

These arguments are stored in a temporary array and pushed after processing the rest - to ensure argument order won't change.