Adding support for typechecking function parameters that have parametric region arguments.
This commit also introduces class Substitution which will eventually replace the current
ad-hoc substitution process.
Finally, I added the legal disclaimer at the top of each file (not only at the top of the
entry).