RFC: Preserve type on integer arithmetic

This is my try to make `Int8 + Int8 = Int8`. It would fix #3759 which now has the 0.4-projects tag indicating that there is hope that this gets accepted :-)

I had to fix some tests and the unicode test still fails with

    exception on 2: ERROR: test failed: utf8(u16) == u8
@vtjnash I don't think that way of specifying type in `convert` is specific to BLAS. `grep -r "::Type{T}" base` gives quite a bit output so I'd say it has been pretty standard.

Is the problem you mention something you have seen in practice? The old, but wrong, way is a bit nicer to the eyes.