The CompatibilityResult allows a TypeSerializer to specify whether it is compatible based on the given TypeSerializerConfigSnapshot.
As it stands the only options are compatible and requiresMigration. We should allow serializers to also notify the system of an incompatibility which should then fail the job.
This would for example be required when a serializer provides an upgrade path version1 -> version2 -> version3, but not directly from version1 -> version3. Currently, the serializer would either have to contain logic to upgrade from every single previous version or simply throw an exception on it's own.