make float16 serializable
Updated package list
fix #5912
Merge pull request #5916 from amitmurthy/amitm/f16

make float16 serializable/deserializable
Float16: convert to various number types; round, trunc, floor, ceil.

These additional operations are needed to get the random and linalg
tests closer to passing for the FloatRange change [#5636]. We really
need to make a decision about how first-class we want Float16 to be.
I'm starting to suspect that we should just bite the bullet and make
all the things that work for other floating-point types work for the
Float16 type also. It's just easier than having them be half-broken
and try to explain that they're "just for storage".
fix regression in bitmix() in 3af1dc9a94cbdc7d88ec59f7cf312b4dc0122e15
Float16: dial back on conversions from Float16.
FloatRange type: correct/intuitive floating-point ranges (no syntax).

This addresses the core behvaioral problems of #2333 but doesn't yet
hook up the colon syntax to constructing FloatRange objects [#5885].
FloatRange: hook new type up to colon syntax [fixes #2333].
FloatRange: slightly more conservative test for lifting in frange.

There's a slight chance that computing `stop` with integers and then
converting to floating point would work but doing to computation in
floating point would not give the correct answer. This tests actual
values – with the correct type – that will be used.
FloatRange: work around for #5885 – temporarily move colon defintion

Obviously we don't want to leave things like this, but with this
work around, we can merge the FloatRange branch and figure out the
root cause of #5885 later.
Merge pull request #5636 from JuliaLang/sk/floatrange

FloatRange: new type for accurate floating-point ranges [fix #2333]
NEWS: add note about new well-behaved FloatRange type [#5636, #2333]