Remove SemanticNonNull from TypeNode
This type is reused for variables, inputs and list-types which
can't be smantically non-null. list-types can be but only if they
are used in an SDL context.
This is kind of a short-coming of our types, we conflate SDL
and execution language.