Scalar is now num-dual's trait, blanket-implemented, rather than a
hand-rolled one declaring the same methods over a fixed list of types.
Breaking: the `autodiff` feature is gone, since num-dual is no longer
optional; `Scalar::re`, `exp`, `ln`, `log10`, `sqrt`, `sin`, `cos`,
`powi`, `powf`, `abs` and `powt` are gone, replaced by DualNum,
DualStruct and Signed, with `powt` now `powd`; and a call built only
from float literals must name its scalar, as gtd7d::<f64>(..).
Not breaking, but the reason it is worth doing: a caller's own dual type
is now covered automatically, and the dependency tree drops from about
twenty crates to two.