Eek; feels very wrong that we'd have to do this. Creating temporary ConfigKey objects with a matching name but incorrect type so that configure behaves itself isn't nice! (As discussed on IRC, I think we should just fix `.configure(...)` so that it does the right thing. For example, it could pass everything to the entity's `configure` method rather than splitting up the map to call separately the `configure` or `setConfig` methods.

But I'm fine with it for this PR. Would like to delete `getAllConfigAsConfigKeyMap()` when it's not needed though.