0.3.1 - User Profiles

This is the big update I promised: user profiles! That means that if
multiple people use the computer, each one can have Paul address them
correctly, and it also means that transferring to a new system is as
easy as copying one file (and editing one other)! However, this has
complicated things like the server dramatically, so it has been marked
for deletion in future updates. The same goes for client, obviously. It
may return if I ever find a way to implement it better. As the user
profiles have meant a restructuring of where all settings are stored,
there are a whole new range of get_* functions inside the paul module.
Use these to access things, as user preferences move all over the
place. If you need to access system settings, do so with
paul.system.flags[KEY]. the old user_info system is still hanging
around for a version or two, while any modules are being updated (yours
and mine). Sentence.has_one_of has recieved a bug fix, so now it
actually works. Client also recieved a small bug fix, for when
specifying the host and port. Finally, there is a random_choice
function inside the paul module, which accepts a list of strings with a
format placeholder for a name. It returns one at random, either with or
without a name or title inserted. I found I had written it several
times in different modules, so I thought you could use it too.