Start a new branch for floating point work

* It's based on the patch provided by Alastair Donaldson

* Don't generate floating-point operands for bit-operators

* Don't generate floating-point index for arrays

* Don't generate floating-point operands for shifts

Currently csmith is able to generate programs that can be compiled successfully, but full with
UBs caused by convertion from floating-point to integers where the floating-point value is
out of the range of integers.
add safe_float functions

* modified versions of safe_float functions suggested by Pascal

* include float.h when --float is passed

* should have mentioned in previous commit: floating point support
is disabled by default, passing --float to enable it
Silly bug fix

include float.h and math.h when floating point support is enabled
probably works now

need more testing
removed an useless constraint on choose_fun

since we changed is_convertable in Type.cpp, this constraint is no longer needed now
use FLT_MAX in safe_float functions
new safe_float_math function provided by Pascal
Merge branch 'floating-point'
driver stuff