Preliminary new calculations system

Moving to new system for calculations.
They are now built as structs, with fiends

name
range
phi

name is used by pretty_print() for the header.
range is the indexes (from idx()) for bonus and stat maximums.
phi is the phi function passed to sqp().

The calculators are stored in a struct array.
Selection of calculations to be done can then be done using a range.

Change the range paramater to calculate() to be a matrix,
instead of a cell array.
This will make it easier to do things like intersection and union on them.