Start lnL at an offset determined by the signal template.
Split lnL contributions and add separately.
Add missing prints for some options;

Start mu_bkg at n_data, restrict limits on mu_sig/bkg, decrease step sizes;

Improve prints;

In twolnL:

  improve BB solver tolerance logic;

  force all parameters to be within physical region, not just mu_sig;

  instead of checking for NaNs in parameters just set to minimum values;

  throw if negative/NaN a_bkg after interpolate;

  don't NaN with 0/0 in dlnL_bb_bkg when a_bkg = 0;

  check for lnL = NaN at return;

  commented-out stubs for testing with just some gaussian maximum, and
  with interpolator commented out, with corresponding setup code in
  fit() (the interpolator is what seems to cause Minuit to make NaNs);

  commented-out ncalls printing/setting of prints.