Refactor of bin/ursula to use getops + back compat

This is a pretty big rewrite, but is a precursor to adding upcoming tag and version support.
This has been heavily tested locally with expected operations and output, but has not been tested to actually deploy a new cluster yet.
Correct, I will add a comment with a link to the original place I found the snippet with explanation.