Gridfs assetstore

Only the final commit here corresponds to this branch.

This implements GridFS as an assetstore. After some testing on large files, I'm sad to say it is noticeably slower than the filesystem assetstore (which is to be expected), but it's cool that it works :)