Make parseopt correct (and based on seq[string] as parameters, not string)

Fixes #726, possibly #274, and fixes regression introduced by #702. And I hope it doesn't break new things.

Sorry for "Normalize whitespace in os.nim", but I'd rather spend time fixing Nimrod, than doing nasty tricks in bash or reconfiguring my editor. (and we all don't like trailing whitespace?)

New code in `parseopt.nim` adheres to the following "specification":
```
## 1. short options - ``-abcd``, where a, b, c, d are names
## 2. long option - ``--foo:bar``, ``--foo=bar``, ``--foo`` or ``-f:bar``
## 3. argument - everything else
```

There is also a new test - `tests/system/params.nim`. I'm not sure if it works on Windows.