Calibration redesign to support BEAD_TYPE

std::vector<double> is used as a parameter so support multiple values per
parameter type (as for BEAD_TYPE)