Added `std.traits.Promoted` to get the result of scalar type promotion in multi-term arithmetic expressions

`std.traits.Promoted` gets the type to which a scalar type will be promoted
in multi-term arithmetic expressions
-------
import std.traits : Promoted;
static assert(is(typeof(ubyte(3) * ubyte(5)) == Promoted!ubyte));
static assert(is(Promoted!ubyte == int));
-------

See the D specification on $(LINK2 $(ROOT_DIR)spec/type.html#integer-promotions,
scalar type promotions) for more information.
