Added a generic saturation function.

The functions is using the SuperInt and BaseValue type families.
Some instances for the standard type Int16, Int32 ... are also required.
We also instantiate SpecialInt and RawValue for the standard int since the information
is required for saturation.
Generic implementation for fixed point

The fixed point implementation is now totally generic on the fractional part length and the
saturation mode. Only the data type for the base value needs class instantiation. It is done through
CPP macros.

The class SuperInt has been renamed to NumberInfo.

Rounding has been removed since it will be supported as a new type field on the fixed point number.
Rounding mode

A rounding mode has been added.
amul is now generic
rotate has been improved bu usage of sign extension and a mask
Test, Random, Stats, Rounding

Change rounding modes
Added test cases
Added random generation for SpecialInt and Fixed
Added statistics framework to study the dynamics of fixed points numbers.
Saturation bug, force signal, bounds.

The vertical and horizontal bounds can be different from the signal bounds. It is used
for tracing the statistics. We use the natural bounds of the fixed point.

Saturation for negative numbers was wrong.

A new forceSignal function has the effect of forcing the generation of the trace.