Remove CalibratedUnit#update() method

This is in preparation for that feature to be reworked into a simpler
copy() method which does not really need extensive unit testing.
WIP: CalibratedAxis: use copy method instead of update

The update approach is cool but, as implemented, is fixed in nature: it
can perform some potentially useful axis conversions but they are all
hardcoded. Since we have no code downstream that specifically needs the
power of such conversions, let's instead punt for now and merely provide
each axis with the ability to clone itself via a copy() method.

For the copy() method, we avoid the use of recursive generics, instead
opting to always override copy() with a fully narrowed return type.
Since the axis type hierarchy is rather flat right now, this works fine.
PolynomialAxis: rename order() to degree()

The term "degree" is a common standard term for polynomial functions.
PolynomialAxis: add missing javadoc
Add VariableAxis base class to unify things
Extend VariableAxis as appropriate
Implement calibratedEquation() in VariableAxis

For axes whose variable values are tracked in the variables table of
VariableAxis, it is a simple matter to replace the variables'
occurrences in the general equation with the specific values given by
that table. This obviates the need to implement calibratedEquation() in
these subclasses.