Compiler [Typechecker]: Improved type checking. Fixed issue where constant expressions after evaluation sometimes got a partially weaker type. Eg: The expression ({ 0, 1, 2, 3 }) gets the type array(int(4bit)) from evaluating the type, but the type array(4: int) from generating a type from the value. The code generator now adds a soft-cast to the original type, causing the resulting type to be array(4: int(4bit)). Fixes testsuite failures for undumped pikes from eg SSL.Context.