Prevent users from overwriting files belonging to others

This patch stores each user's files in their own directory, named after their
public key. This prevents others from overwriting a certain user's files, and
can later be used to implement some form of access control.