Adds boolean ConfigKey.isNonNull() method

Use to enforce non-null values for particular config keys.

Validity checks are made in `AbstractEntity.setConfigInternal`, so `setConfig(required, null)` should fail, and in `InternalEntityFactory` after setting config values on a newly-created entity, so forgetting to set a value on a required key should also fail. 

The `InternalEntityFactory` check will only work for `ConfigKeys` defined on the interfaces implemented by the entity. I think the combination of the two checks is sufficient.