Make build more portable.

- Explicitly set sbt version instead of guessing from launcher.

- Remove Scala cross-built dependencies that fail without explicit
  Scala version.  If the project decides to use them, it should set an
  explicit scalaVersion in the build.
Port log4j to slf4j.

This allows the library be used in projects that use an alternate
logging backend, such as logback.  log4j is retained as the logging
backend for tests.