Improved Javadocs and shifted to SLF4J logging API

Work on the Javadocs will take some time, but this is a first pass
through the files, cleaning up the obvious parts.

The main focus of this commit was to move to the SLF4J logging API.
This allows for a variety of implementations to be used, including
SLF4J, Log4J, Log4J2, and Apache Commons Logging.  The application that
is using Expect4J just need load one of the -impl adapters for SLF4J.

The vast majority of library logging messages are exposed via debug or
trace level only.  This is due to the library nature of Expect4J.
Verbosity can be controlled via each class or via the package as a
whole.