Drop trunk/branches/tags configurability

It doesn't make any sense to change standard
SVN trunk/branches/tags directory layout, especially
given the fact that git_svn_server isn't ready for this.
Drop customizable auth methods

We only support CRAM-MD5, there is nothing to
configure here
Drop customizable realm string

Base url is more than enough
Stop storing repository creation time in SQLite

Nobody actually cares about repository creation time,
so just use start of epoch.
Remove `meta` SQLite table

`meta` SQLite table isn't used by anything now
get-dir: handle None created-by

created-by can be None when repository has
no tags/branches and tags/branches directory
listing is requested
ls-tree: handle None sha1

sha1 can be None when repository has
no tags/branches and tags/branches directory
listing is requested
get-props: handle None sha1

sha1 can be None when repository has no tags/branches
and props for tags/branches are requested
git push: pass --porcelain

Without --porcelain, git push prints output info
on stderr, what confuses __get_git_data
Delete SVN backend

We're git-svnserver, not svn-svnserver.
Delete get-file-revs, rev-proplist, switch

Looks like simple Subversion workflow doesn't use these commands
server.py: remove unused __main__
auth.py: delete DummyAuthDb, PEP8
auth.py: store username in SvnRequestHandler

In order to properly support multithreading,
connection-specific info must not be stored in shared
objects. Thus, move username from Repos to SvnRequestHandler
repos.py: replace UnImplemented with NotImplemented

NotImplemented is a standard python exception, just use it
repos.py: remove abort_commit()

Delete abort_commit() function, it doesn't do anything useful
repos.py: inline get_base_url()
repos.py: introduce repo lock

Introduce a per-repository lock. Thread-unsafe commands now use @need_repo_lock decorator.
For now, thread-safe commands are `reparent` and `auth`.

However, since SQLite isn't thread-safe, auth.py holds lock when accesses db.
commit.py: eliminate static dirs/files cache

In order to support multithreading, connection-specific info must not be stored in shared objects.
Thus, move Dir.dirs cache into Commit command.

Files.files cache isn't read by anyone and is simply deleted.
Do not instantiate Repos for each request

Now Repos objects are instantiated once on server start and are reused for all connections.
This lead to several consequences:
  * Repos no longer work with absolute URLs and are instead given path relative to their root.
  * Repository UUID no longer depends on hostname
  * base_url is now connection-specific

Also, `reparent` now validates its argument and doesn't allow to go outside of repository.