handle google/network errors in preload by retrying (max 5 times)

also changed the sequence a little -- fully read and parse all data into local dict rather than opening files and parsing as needed.  generally i lean toward lazy instantiation but want to make sure any parse errors are detected early in the retry loop.  has added side benefit that if one of the later tabs or CSVs is somehow garbled, you fail early instead of waiting for all the earlier tabs/CSVs to do their DB updates.  "fail early and often"