Make .seen persistent.

Instead of using a dict, use a shelve so that seen is persistent across phenny
reloads.

This will cause some more disk IO as we are syncing the shelve every time
someone says something. It is probably better to just .close() the shelve when
phenny exits (using atexit).

Also, clean up some dead code that was left in the module.