Better error checks in argument parsing.

This should stop a lot of weird behaviour if a user inputs a wrong argument and unpaper just works with that without ever checking.
Also created two methods (one for float, one for int) which parse a single int/float.
These methods also get a string of the option for which the argument is parset.
This allows to display an error like "failed parsing of 'wrong' for option --option" to be displayed.