RFC: Scoped attributes for checked arithmetic

[Pretty][Pretty]

[Pretty]: https://github.com/glaebhoerl/rfcs/blob/scoped-attributes-for-checked-arithmetic/active/0000-scoped-attributes-for-checked-arithmetic.md
Sounds good :)

I would be pleased if we could tighten the definition of what is allowed even more, without limiting what our desired implementations are allowed to do (such as an As-if-Infinitely-Ranged checker).  I haven't thought of a good way though.  For example, this is too restrictive: "On any given program run, given bit patterns `X` and `Y`, `X + Y` evaluates to the same value [or the same lack of a value, e.g., fail!()] everywhere `X` and `Y` are added in the program."  I suppose a stern warning to compiler authors will do.

(Also, for anyone who doesn't know: Though it's undesirable here, LLVM's `undef` is not quite as bad as undefined behavior. "[T]he LLVM optimizer generally takes much less liberty with undefined behavior than it could." ... "[In Clang/LLVM,] Arithmetic that operates on undefined values is considered to produce a undefined value instead of producing undefined behavior. The distinction is that undefined values can't format your hard drive or produce other undesirable effects." http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_21.html )