Sprintf madness

Also fix a `-Wreorder` in `AffineMap`.
`Wreorder`, we initialise it as linear_map_ then translation_ in the constructor. This order seems to make more sense.