Initial commit of functions from github.com/btracey/optimize

It's not strictly necessary. I put it in to help future maintenance by guaranteeing that there are the same number of entries in statuses as there are Status constants defined in the package. This way, if one forgets to add a print struct for an added constant, the code will panic. I can remove if you'd prefer to not have the clutter.