move DOB above age and age_range #3246
display computed age on person record #3246

for convenience
disable age and age_range by default #3246
keep DOB consistent #3246

This will clear person_dob_date if perosn_dob is set to nil, unknown,
refused or a MDES partial date. The consequence is that the
operational enumerator will use the age and age_range instead of
computing it from the out-of-sync person_dob_date.

Displaying person_dob on the UI allows the user to see
e.g. '9666-96-96' when they set the DOB to unknown. It may
be better if we select the radio button and keep the DOB
blank. Although the current approach shows the actual data.
compute age from DOB if present #3246
compute age_range from DOB if present #3246
display computed age range on person record #3246

If a computed_age_range (and age) is displayed it should indicate that
the operational enumerator will use the same value. In order to use
the produce_one_for_one mapper the logic needs to be written in sql
hence a redundant implementation in the model.
backport 3.2 operational enumerator updates #3246
ignore computed age, age_range on import #3246

always import age and age_range
Merge pull request #202 from NUBIC/bug_3246_correct_person_age

Bug 3246 correct person age