Make `pattern_encoder` feature less infectious
Currently, whenever an appender is used this enables the pattern_encoder feature. This feature in turn pulls in chrono. This can be a bit frustrating for users if they are supplying their own appenders which use the time crate, and never make use of PatternEncoder.
This PR eliminates the dependence of the appender features on pattern_encoder. I tried to make this as little of a breaking change as possible. Anyone using the default features will see no change to their code, and unless someone is using an appender without the pattern encoder feature then their code will also continue to compile. That being said, this is still technically a breaking change to the public API.
I am open to suggestions regarding if/how the public API should be changed should this be accepted.