
 * all Items have global IDs
 * Items have sub-items
 * Avatars are items
 - Messages are sub-items of avatars
 - messages are *not* sub-items of pools
 - a pool's date index is represented like so:

'id.00001.07135.index.date.2003/07/24.07138' => '07138'
         ^ this is the avatar
               ^ this is the pool
                          ^ prefix to indicate which index
                                      ^ local-to-the-avatar item ID
                                               ^ value is for convenience of iterators

 - that pool's pickle data is stored on the key

'id.00001.07135' => '83y7-9h8frqaf8u0abvs' <-- random pickle junk in the value

 * that message's pickle data is stored on the key

'id.00001.07138' => '...' <-- random pickle junk in value

 - login database is 'mounted' on the same bsddb:

'login.web/org.divmod@glyph'
'login.pop3/org.divmod@glyph' => '00001:my_pop'
'login.irc/glyph' => '00001:hello_world'

<exarkun> it might be interesting to keep adminny statistics like "top users of
resources on this server"

one possbile approach to this is having the provisioner for each user store an
inverted index like this:

 'stats.indexer.$4005714.00001' => '00001'
               ^ prefix describing stat
                        ^ sortable cost

(perhaps figure out a way to invert the order of the sortable to cost to get
larger users first?)
