Change PropertyAdapter to be bidirectional and rename it to Codec to specially encode properties. These codecs can be used by mutable configurations to encode changes in a flexible way and for adapt encoded values. This is very useful, when adding support for complex, multivalued and additional non-String types, that should be changeable as well. The changes required are:
- Rename PropertyAdapter to Codec
- Rename PropertyAdapters to Codecs
- Add additional method to Codec to enable bidirectionality
- Ensure write support for object types in ConfigChangeSet and corresponding builder.
- Ensure/adapt Javadoc
- Discuss default codesc for collections, multi values (combined) and more
- Rename @WithPropertyAdapter to