only create patient id when lmp value is zero.

For Kilifi we instructed to CHWs to use lmp value of 0 when the baby is
already born and they only want to register the mother. So lmp value of
0 simply does a patient registration. An lmp value of 0 is nearly
impossible to observe in the field so we gave it a special meaning.

Also added some coverage around a few other patient_registration
functions.
modified add_regime transitions to support when start_from is null.

sends response but skips schedule creation.
fixed bug in getWeeksSinceLMP to process 0 values. added tests.