Use slf4j for logging

This PR introduces the slf4j for logging.

While JUL doesn't require external dependencies, it doesn't necessarily play nice with existing logging that people may be using. slf4j allows copycat to play nice with whatever existing logging the user already has in place, whether it's JUL or logback or whatever.

The only added dependency is the slf4j-api. The logging implementation is still specified by the user.