tsts/project_tests: STABLE  11/0/0
data/data_dicts.py          >>>  NEW class   BASED ON  data_classes.py
tsts/data_dicts_tests.py  >>> NEW test BASED ON data_classes_tests.py
Doc and Structure CLEAN UP
src/task_helpers.py   >>>  NEW Global  DATA_DICT_FILE_NAME
data/data_dicts.py          >>>  NEW class   BASED ON  data_classes.py
tsts/data_dicts_tests.py  >>> NEW test BASED ON data_classes_tests.py
data/data_dicts.py          >>>  WIP  class   BASED ON  data_classes.py
tsts/data_dicts_tests.py  >>> WIP  test BASED ON data_classes_tests.py
src/task_rules.py    =>  ADDED
src/task_rules.py    =>  ADDED & DocTest WORKS
src/task_rules.py    =>  MOD near_due() TO near_due_dt_()  & DocTest WORKS
src/task_rules.py    => NOW 3 near_due_ methods: float, dt, ufc
src/task_rules.py  RulesClass  => GIWR:  3 near_due  static methods: _dt_(), _ufc_() and _float_().
NOTEl:  __near_due_float_() IS just for testing a broader spectrum of now and due dates.
src/task_rules.py  RulesClass  => GIWR:  ADD has_due()
NOTEl:
src/task_rules.py  RulesClass  => GIW:  ADDING  has_due() plus other code to update a task-resrc object it it passes all the necessary rules and tests.
NOTEl:
src/task_rules.py  RulesClass  => GIW: PUT THIS ON HOLD. Needs data to finish tests. INSTEAD SWITCH TO OneStopModel
src/tasks_model.py    WIP GIW  => ADDED class NewTaskModel()
tsts/tasks_model_test  for above
src/task_models.py  NewModel   class   WIP GIW
src/task_models.py  NewModel   class   WIP GIW   more name  refining to distinguish the new task model from it's data_db .
src/task_models.py  NewModel   class   WIP GIW   more name  refining to distinguish the new task model from it's data_db .
data/data_classes.py   NOTE: these are links / references to the shelve instances, not a copy of the data.
src/task_models.py  NewModel   class   WIP GIW  continued modifying structure => now get all shelved data into the model class
tsts/ tasks_model_tests.py    stable