Created a replacement for TRY_CAST

As it turned out that TRY_CAST ignores truncation, we replaced it with a
CLR that will report a failure if data value truncation should occur.