Refactoring optparse code to be more adhoc

Thanks for reviewing this PR. I believe it increases the overall readability (mimicking the `optparse-applicative` tutorial)

Important note: I am not sure why the exit code was `3`. I suppose the optparse default is good enough but didn't check. Anyhow this PR has removed the explicit setting to `3`, I hope it is alright.

If you accept it, I will modify `pdbQuery` tomorrow for consistency sake