Bulk import fails with serialisation error
A recent change has caused bulk import jobs to fail with an error due to Kryo serialisation being unable to deal with the list of row key types in a partition being an unmodifiable list. This change has been introduced since the last release, and is due to the change in `getMappedFields` in `Schema` to return an unmodifiable list.

Steps to reproduce the problem:

- Run the system tests with ingest mode set to queue.
- Pause the system so the ingest tasks don't run.
- Wait for some unsorted, uningested files to have been written.
- Reinitialise the table with the 512 split points file from scripts/test/splitpoint.
- Put a JSON message on the bulk import queue telling it to ingest the files that the ingest tasks wrote.
- Look at the steps tab on the EMR cluster that will fire up.
diff --git a/java/core/src/main/java/sleeper/core/schema/Schema.java b/java/core/src/main/java/sleeper/core/schema/Schema.java
index e7d806c6a..fcfe982e2 100644
--- a/java/core/src/main/java/sleeper/core/schema/Schema.java
+++ b/java/core/src/main/java/sleeper/core/schema/Schema.java
@@ -103,7 +103,7 @@ public class Schema {
     private <T> List<T> getMappedFields(Stream<Field> fields, Function<Field, T> mapping) {
         return fields
                 .map(mapping)
-                .collect(Collectors.toUnmodifiableList());
+                .collect(Collectors.toList());
     }
 
     public List<Field> getAllFields() {
['java/core/src/main/java/sleeper/core/schema/Schema.java']