GridFS, 2

Here's a different approach to implementing GridFS.  This is still a draft, but I wanted to get some feedback on this structure.