[new] Schema::isCached() returns the current state of the Schema cache
[fix] Throw if the Schema cache is present and trying to work with Attribute not defined in Schema

Previously it would simply create a new Attribute without any warning.
This is ok if the Schema is not cached, but if we know what's present
then we can give the user a heads-up before trying to write to the
directory server.