Clevis pin tidies
rebased
Probably the solution to the problem of the incredibly messy Clevis configuration code, is to define a subclass of Action with a global object internally to store all the different Clevis stuff and then to define subclasses of that class for each possible option and then incrementally build that object as parser arguments are parsed. Even that is done, it will probably still be necessary to run a check in _main.py, just on the object produced by the parser rather than on individual namespace values.
Should tidy up argument parsing first, probably.
Blocked by https://github.com/stratis-storage/stratis-cli/pull/1073 .