fixed bug with null key values from appengine

Created a new method to fetch specific data sets in a transaction from
GAE, as the lazy-loading behavior is inconsistent (occassionally object
back-references and their keys are null).  Removed "middle initial"
field, as that confused some people.