Dynamic opm

OPM Conditions Met Report: Changes
- `preg_month`, `status`, `child_age` are calculated dynamically from `edd`, `dod` now.
- conditions are calculated based on case-properties (wherever possible) and status-as-on-reporting-date.
If these two aren't found, then they'll be assigned to `EMPTY_FIELD`, which is `"---"`.  (By the way, it looks like this is also what'll happen with `case_property('dod', None)`, by the definition of `get_property`, which is kinda confusing).  Anyways, there are a couple instances below where you check for falsy values `if not dod_date and not edd_date` for example.  The problem is `bool("---") == True`.

I think it'd be best to use `None` as the "not found" value as long as you can, and then convert it to `"---"` if and when you need to display it.