[Async DB] Documentation/minor tweaks

I'm adding documentation, making minor tweaks as I'm reading through the code. Some of the changes are likely unnecessary/incorrect as I may be overlooking some finer aspects of the new code.

Let me know if I should continue with this or not.

I just started, so I plan to push more as I go through the code (planning to get through all the data code this weekend). I try to make sure nothing breaks, but I also haven't tested this code yet.

(I see you addressed the comments I made, so I'll have to rebase this anyway)
yes, this does break the other derived classes. Any reason not to centralize this? The plural forms are used in referencing global objects (original use for `getObjectTypePlural`) and for generating libraryKeys (the purpose of this property). Shouldn't they be the same? (one is capitalized, but that's in a different function)