New version of git plugin:

* Moved all configuration to the supybot config system (the git.ini
  file is no more)
* To support multiple branches and configuration several commands has
  been changed. Notably there are new commands to create and destroy
  repositories. Commands have been renamed, to repo\* names
  like repoadd, repolog, repolist in an attempt to make them easy to
  remember and less likely to clash with other plugins. rehash has
  been dropped in favor of `reload git`.
* The logging has been fixed, upstream is using global instance which
  seems questionable in a threaded context. Added stacktraces to some
  exception handling.
* Backwards compatibility has been dropped: GitPython 0.1 is not supported,
  some old commands are not defined, compatility stuff in config is dropped.
* Static checking using pylint and pep8 has been added.
* Code has been reorganized to a hopefully more consistent shape.
* A timeout is used to complete otherwise hanging fetch operations. The
  thread design has been revised removing busy-wait and improving
  scheduling. New model uses three threads, only the main thread is
  long-running. One thread handles the git clone in @repoadd command
* In unittests mock is not used anymore, using a test repo with
  live data instead.
* The README has been updated, notably with a "Getting Started" section.
* The history has been squashed, but is available in 0.1-log branch. It's
  mess, though

New threading model:

Since both threads lock the repository before doing any operations on
it, there is no need to synchronize the repository methods. The
logging functions are threadsafe, so log errors directly in thread
instead of storing in errors[] list and handle later. All this also
means that the repository lock should not be reentrant, there is
just an overall, sort of global lock only used once in each thread.

Retire long-running fetch thread, use schedule instead.

There are two problems with current thread design: the fast-polling
fetcher thread which always look for if it's shut down, and that the
poll call which only is meaningful after a fetch is done at a random
times.

New design uses schedule to run fetch regularly, and fetch schedules
poll callback to run directly after fetch completion. The fetcher
thread is still asynchronous, but just a one-shot one. A separate
thread running the git-cloen operation is modeled the same way.