Merged CAST branch.
Changes since -cast.8:
* separated usage of object and values types;
* fixed warning and error reports for compile-time type
errors;
* inline structure slot accessors are implemented with source
transforms;
* enabled warning emitting for type errors in some paths to
CAST;
* removed check for type errors in arguments of a call of a
flushable function;
* source transforms are made nameless.