Introduce SchemaMetadata to streamline the schema version handling
By schema version metadata, I mean the ewokscore bounds and the update method. This metadata is now stored in a dictionary with schema versions as keys. This means we don't have to rely on dynamic imports since the update methods are now explicitly declared for each schema version.
Also, I took this opportunity to remove the test schema versions from the actual "real" code and make the tests rely on a monkeypatching fixture instead.