Treat GCC platform arguments separately from other native binary arguments

- This change will allow us to escape user-supplied linker args with -Xlinker, but pass toolchain-supplied linker args directly to Gcc
Escape linker args in Gcc tool chain with '-Xlinker'

- Separate 'user' and 'system' supplied arguments in BinaryToolSpec
- System args always precede user args on command line
- Escape user args in Gcc linker