add core.checkedint

There's been a lot of interest, both in D and other languages, in detecting integer arithmetic overflows. Because of performance and other issues, it is unlikely such checking will be added to the core D integral types.

This adds primitives which can be used to do checked integral operations, i.e. operations that check for overflow.

A checked integer type would be a Phobos library type that builds on these primitives.
Probably `ref ulong overflow` will be more useful. For example in big integer math or real functions like fast precise sum of logarithms.
It can be done with inline asm/LLVM for x86 (all compilers). But I don`t now about various ARM processors.
Can I make corresponding PR?

The CTFE version without asm can be done using `uint[2]`.
Also we can add both `bool` and `ulong` versions.