Add support for special $user repositories
Extra syntax in the config file ($user) will now denote wildcard-style
user repositories. This allows us to add support for users to have
their own public repos without having to do tedious admin work for all
of them.
This involves changes to:
* access.py to add lookups for $user access on top of normal access;
$user is treated as a wildcard where necessary when doing
filesystem path lookups, but used for permission checking too: the
magic user "$user" can now be added to the members list in
configuration groups.
* gitweb.py to add code to deal with the $user wildcards when
generating the description and project list files that gitweb
uses. Where we can determine the user's credentials locally, use
full names. Some code refactoring to fit with existing code
better. Also: don't assume that close and rename are safe: force
flush and fsync too
* example.conf to add entries for user directories. Show how the user
directories can be made to work