[x] We probably want to pass these as strings, otherwise we'd need to make a converter from some Python units package. Also astropy doesn't allow you to have different units in the same numpy array, so seems perhaps not optimal for this.
[x] X_units and y_units parameters to .fit()?
[x] Add print_precision parameter.
[x] Add dimensional_constraints_penalty
[x] Consider taking advantage of v_dim_out parameter.
[x] Reach 100% diff coverage (see todo in tests file)
TODO:
y_variable_names
Fixes #283, #388