Fix translation of "let x = y in ..."
Increase allowed number of arguments to CALL/CALLT

The size limit is there because we need to encode the pointerhood of
each argument.  This information may later be needed if a PAP or an AP
continuation is created.

We now also have a few more static checks in place so that we get
compiler crashes instead of segfaults at runtime.
Add Data.{Set,Map} and prerequisites.