Don't allow construction of dict/object schemas with duplicate keys

Inadvertently creating a schema with both Required and Optional versions of the same key creates indeterminate behaviour when validating, so it should be disallowed at schema construction.


It might be better if the message said "duplicate markers".