#517 Type checker must ensure that all objects have position info.
requested to merge 517-cif-type-checker-should-produce-position-information-for-all-objects into develop
- This is a prerequisite for reporting CIF check violations on any object that has a violation, in #454 (closed).
- This separates out changes from !464 (closed) that are not really in scope of #454 (closed).
- Also optimizes int to real widening in CIF type checker; there is no need to create the integer literal/type if they are not used.
- Best reviewed per commit.
Closes #517 (closed)