Declare IsConstructibleSubsetOfAffineSpace property.
Add some obvious logical implications for schemes.
Set IsConstructibleSubsetOfAffineSpace and IsAffineSubscheme in Spec( ).

Also adjust the condition in the ViewObj to use IsConstructibleSubsetOfAffineSpace
instead of IsAffine to decide whether our object is a subobject of affine n-space.
Don't fail in ViewObj if an object has IsAffineSpace, but has no StructureSheaf set.
Declare Complement as an attribute instead of an operation.

This exposes a bug in gap and only works if the CRISP package has
been disabled, since that package declares a Complement operation.

However, that should be fixed in CRISP, since AlgebraicThomas needs
Complement to be an attribute.