Fix type of threading arg in do-paritioning

Discovered a nice little bug while doing threading stuff: this arg was being read as string. Which seems all well and good, until later on 174 we do:

```
If n_subsets < args.n_threads:
    args.n_threads = n_subsets
```

This was causing the script to spawn as many threads as subsets, every time! How on earth was this not caught?

**TODO**: Add a test for this
Not a test, but it at least catches it?