overhaul

* digits was removed from the argument list and the `…` are passed to
`format.data.frame`. However, if `…` does not contain `digits`, it is
set to the previous default of `min(3, getOption("digits") - 3)`
* the results data frame is now adjusted using `format.data.frame`. The
previous method was hand-made when I was young and foolish and didn't
work well with `knitr`.
* two preprocessing methods were added to the label generator