Horrible horrible hack to work around bad sqlite locking behaviour.

Fixes #105, I think.
Get a write lock at the beginning of the promotion process.

I believe this might fix #100 now that we have the busy timeout set as
per 7d5f342. If a promotion is in process, the RESERVED lock will
allow reads to go through but cause writes to block until the
transaction is complete according to http://www.sqlite.org/lockingv3.html
Release 0.12.11.
Switch to pure-java JDBC driver and c.j.jdbc transaction.
release 0.12.12.
Revert the change to use the pure-java SQLite JDBC driver.

This causes nearly every request to time out.
Record who added any user to a group.
Log all events.
Fix misplaced if plus a few other typos.
Add timestamp to every event; fix membership arg goof.
Move event/index dirs to default config.
Add index.clj.
Use in-memory atoms for users/groups.
Repo functions reading from the filesystem.
Generate search indices for Lucene from all poms in the repo.
Don't reindex multiple versions of an artifact.

Index artifacts as they are deployed.
Typo.
Move creation of event dir to config.
Add seed function for transitioning from SQLite DB to event logs.
Consistent field name in event log