Robuster size checking for floating point types.

Relevant to #365.
Changed ```ByteVector::toFloat32BE()```, ```toFloat64BE()``` and ```toFloat80BE()``` to do robuster size checking for floating point types. ```sizeof``` can't necessarily detect the actual size of floating point types. e.g., as for GCC on x86 systems, ```long double``` is 80-bit but ```sizeof(long double)``` returns 12 or 16 due to padding.