Make log4jdbc optional by checking for it at runtime.

This is to workaround log4jdbc not present in any public Maven
repositories, to make it easier for developers using build tools with
automatic dependency resolution so they do not have to download
log4jdbc themselves:

  http://code.google.com/p/log4jdbc/wiki/FAQ
  http://code.google.com/p/log4jdbc/issues/detail?id=19

* src/main/scala/com/imageworks/migration/Migrator.scala
  (this):
    See if net.sf.log4jdbc.ConnectionSpy can be loaded with
    Class.forName().
  (withLoggingConnection),
  (withConnections):
    If net.sf.log4jdbc.ConnectionSpy is available then use it,
    otherwise use an undecorated Connection.

* CHANGES:
  Document this change.
Derby 10.5.3.0 no longer resolves; update to 10.9.1.0 for tests.
Merge branch 'master' into scala-2.8
Merge branch 'scala-2.8' into scala-2.9
Moved from hg to git: replace .hgignore with .gitignore.

Now that Scala Migrations is hosted in git, replace the .hgignore with
a .gitignore.
Merge branch 'master' into scala-2.8
Merge branch 'scala-2.8' into scala-2.9
Unwrap a short line.
Merge branch 'master' into scala-2.8
Merge branch 'scala-2.8' into scala-2.9
Update to SLF4J 1.7.1.

Between 1.6.x and 1.7.x SLF4J's API changed from

  Logger#warn(String format, Object... arguments)

to

  Logger#warn(String format, Object[] argArray)

which requires that : _* be appended to any Array[AnyRef](...)
arguments, otherwise there are compile warnings:

   [scalac] src/main/scala/com/imageworks/migration/ColumnDefinition.scala:180: warning: I'm seeing an array passed into a Java vararg.
   [scalac] I assume that the elements of this array should be passed as individual arguments to the vararg.
   [scalac] Therefore I follow the array with a `: _*', to mark it as a vararg argument.
   [scalac] If that's not what you want, compile this file with option -Xno-varargs-conversion.
   [scalac]                     Array[AnyRef](getColumnName, default.get, value))
   [scalac]                     ^

Additionally, there are compile errors that need to be resolved:

   [scalac] src/main/scala/com/imageworks/migration/ColumnDefinition.scala:410: error: ambiguous reference to overloaded definition,
   [scalac] both method warn in trait Logger of type (java.lang.String,Any,Any)Unit
   [scalac] and  method warn in trait Logger of type (java.lang.String,java.lang.Object*)Unit
   [scalac] match argument types (java.lang.String,String,List[com.imageworks.migration.ColumnOption]) and expected result type Unit
   [scalac]       logger.warn("The following options for the '{}' column are unused: {}.",
   [scalac]              ^

While this is a source change, in my testing, SLF4J is binary
compatible between 1.5.8 and 1.7.1, compiled Scala Migrations jars
continue to work with either 1.5.8 or 1.7.1.  To test binary
compatibility, I compiled against 1.5.8 and tested with 1.7.1 and then
compiled against 1.7.1 and tested with 1.5.8; all unit tests passed.
Merge branch 'master' into scala-2.8
Merge branch 'scala-2.8' into scala-2.9
Update from Scala 2.8.1 to 2.8.2.
Merge branch 'scala-2.8' into scala-2.9

Merge using '-s ours' since the incoming commits are specific to the
scala-2.8 branch.
Update from Scala 2.9.0 to 2.9.2.
Move Derby's test-databases directory into the target directory.

This change is for sbt compatibility so build.sbt will not need to
clean up the "test-databases" directory.
Merge branch 'master' into scala-2.8
Merge branch 'scala-2.8' into scala-2.9
The ant/ivy version number should always end in "-SNAPSHOT".

This is for safety so that any artifacts have a snapshot version
number instead of a release version number.