(PUP-2794) Add an (internal) type called Unit and use in Callable
This adds a type named Unit, that is an "undef of sort" in that
it is assignable to anything, and anything can be assigned to it.
This type is not exposed in the Puppet Language, and it is only
used in Callables to describe that there is no type requirement on
a parameter. (For cases where reflection of a given lambda is
performed etc. or where the error raised when calling a block
is an acceptable solution).