Looks pretty good. I like the idea to a use a Module to ensure it is entirely optional. A few notes:
1. Joda dependency scope should probably be "provided" at framework/cayenne-core-unpublished/pom.xml. Doesn't matter much probablyas it is repackaged into cayenne-server eventually, but just to underscore that this is an extension.
2. Let's use SERVER_DEFAULT_TYPES_LIST instead of SERVER_USER_TYPES_LIST in the JodaModule - after all these are framework classes.
3. Maybe we can improve on 'isJodaAvailable' check in CommonsJdbcEventLogger ? Wonder if we can rewrite the whole 'sqlLiteralForObject' method and instead of guessing the print format of each object type, we take it from say ExtendedType. Extended types can be injected, like we are injecting them to DbAdapters.