Add reserved types to schema names

This is leading up to enabling creating properties that declare their types as schemas (ie. complex objects). This requires recognising a schema from a normal 'type', necessitating an explicit blacklist of schema names. Case sensitive - so if you really need an "Integer" schema, you can still have one.