Merge changes from topic "floatToHalfRoundingErrors"

* changes:
  Round to nearest even instead of to nearest 0.5 up
  Correct the exponent value calculated when converting from float to half