Adjust grammars, proofs to handle "nil" as a constructor name.

Also fix up constructor names that are qualified with a structure
name, allowing one to write List.nil and have it recognised as
something that might appear in a pattern, for example.