lib/stream: add float/double <-> IEEE-754 single/double mux/demuxers

* stream.{c,h}: Add stream_get{f,d} and stream_put{f,d}) demux and muxers to
  safely convert between big-endian IEEE-754 single and double binary
  format, as used in IETF RFCs, and C99.  Implementation depends on host
  using __STDC_IEC_559__, which should be everything we care about.  Should
  correctly error out otherwise.

  Thanks to Aidan Delaney <aidan@phoric.eu> and Olivier Dugeon for pointing
  out the __STDC_IEC_559__ macro.

  Update: GCC does not per se set __STDC_IEC_559__, so also test for
  __GCC_IEC_559 >= 1.
2 files changed