Because every app so far must deal with attachments, factor the common
code down into pyforge. This work was primarily done by Rick with some
minor cleanup by Wolf. This change does away with Filesystem and
metaclasses, instead making a new pyforge.model.File class which better
encapsulates GridFS with a plain file+metadata API. Deriving
app-specific Attachment classes from File is easy: just add metadata
appropriate to the app and any shortcut properties you need. ForgeForum
does just that in this change; use that as your example.