Allow normal Logback facilities to be used to configure logging

As the title states, this PR allows the normal Logback facilities to be used to configure logging. 

Basically what it does is extract LoggingFactory into an interface like ServerFactory. It is a discoverable interface and defaults to DefaultLoggingFactory (which is the current code renamed).

You have to do three things in order to use the normal Logback facilities...

1. Add a constructor to your Application derived class that passes false to the super class. This tells Dropwizard to not bootstrap logging. Logback is lazy and doesn't initialize until it has to (which given the current code is when ServerCommand is created in Application.run).
2. In your YML file, make the type of logging noop.

    ```
logging:
  -type: noop
```

3. Add a logback.xml, logback.groovy, or other configuration file to your classpath.