Added '/abort' option to abort an existing transaction on a queue

/abort behaves a bit like /close behind the curtain, but is incompatible
with /open or /close and will silently ignore any of those options if present
Switched temp dir creating from using currentTimeMillis to UUID
Use a private val instead of a private var.
Both the MacPorts git-core package and a standard build of git 1.6.3.x
provide git-rev-parse at ${prefix}/libexec/git-core/git-rev-parse
which is in a directory not normally in a person's PATH which results
in the "find-git-revision" ant target printing warnings.  So switch to
using "git rev-parse" instead.
No need to declare PersistentQueue's persistencePath constructor
parameter as a private val, constructor parameters are implicitly
private val already.  The only change this makes is it removes a
private final field for persistencePath in the generated
PersistentQueue.class.
No need to declare QueueCollection's queueFolder constructor parameter
as a private val, constructor parameters are implicitly private val
already.  The only change this makes is it removes a private final
field for queueFolder in the generated QueueCollection.class.
Instead of building new File's every time one is needed, keep one in a
private val.  The JDK7 java.io.FileInputStream and
java.io.FileOutputStream constructors that take a String pass it to
the java.io.File constructor anyway, so this is saving a little amount
of work.
Fix a data loss window in Journal#roll().

Since Journal#roll() renames the existing journal and writes a new one
to the original path, if the JVM or system goes down while the new
journal is being written then it may not have all the entries that the
original journal does.  So write the new journal into a temporary path
and then rename it into the journal location.
Make OverlaySetting's "local" field @volatile for the same reasons
that the var's in the PersistentQueue object are.  Also, make the
field private, there's no need for it to be public.
Make all the OverlaySetting fields val's instead of var's.
Add a Configgy option to Journal if it should sync the journal after
all writes.
Add a parameter to Journal#write() indicating if FileChannel#force()
should be called before returning.  Other Journal methods that do no
additional writes to the journal can pass true; those that need to do
additional writes should pass false, thereby saving a sync.
Add overloaded versions of the methods that Journal#roll() calls to
remove unnecessary syncing.
If requested, call writer.force() on the journal after any writes.
correct documentation for PersistentQueue#remove().
add peekReact() and peekReceive() by refactor and renaming
removeOrWait() to operateOrWait() to take an operation instead of just
always calling remove()
making dependencies explicit.
Merge branch 'master' of git://github.com/robey/kestrel
bump scalac to 2.7.4. fix a bunch of other config/build problems, and add _root_ to a bunch of imports, which is the stupidest fucking thing i've had to deal with in a month.
bulletproof _unremove a bit.