refactor update-records-from-* functions to utilize a single codepath
rather than reimplementing things differently in each
* major clean up of normalized classes code - not many tests for
this so if its being used by you please check carefully
* should be a single update code path that each of the other methods
feed into
* less different iteration forms, I found almost all the iteration
constructs in the language being used, opted to try an standardize
on loop since it was already being used and tends to produce more
efficient code
* objects instead of unstructured lists
* smaller, hopefully easier to understand functions