more performant duration code (slightly); and fixed serious bug with converting numeric (e.g. float) reps to string - was only keeping 6 digits of precision after decimal point on number of seconds!; commented todo; and added regtests