generalized and more efficient cat implementation
make Char no longer a subtype of Integer

Char now supports a limited set of "integer like" behavior.

* comparisons with integers
* Char - Char = Int
* Char + Int = Char

update docs and add a NEWS.md entry
Merge pull request #8816 from JuliaLang/jcb/char_not_integer

Make Char no longer a subtype of Integer
ARM: use 8-byte alignment (fixes #8314)
fix compiler warning
Update mathematical-operations.rst

I added a note that the updating-operators can change the type.  This is implicit in the current manual, but it nonetheless threw me for a loop the first time it happened to me (this is different, e.g., from C++), so I thought it should be made explicit.
Simplify wording and rework example as doctest
Fix typo in NEWS.md and update links.
fix incorrect mod rounding
need to initialize new gc root in jl_compute_type_union
add helpful quotes to some error messages. closes #8837
Fix #6804

floor(2^31-1*runif(1)) was always returning the value 2147483647. It is now floor(runif(1, min=0, max=2^31-1))
Merge pull request #8841 from pabloferz/pf/perf

Fix #6804
NEWS updates
some cleanup in datafmt

clarify docs for the is_valid_* functions
add isless(::Char, ::Char) method (required for sort), add test
clarification
Merge pull request #7600 from Jutho/jh/cat

generalised and improved cat implementation
documentation for #7704
Merge pull request #8831 from simonbyrne/mod-fix2

fix incorrect mod rounding