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.
This was specifically used to determine the current directory of where the script is executing on disk.