Alias analysis fixes.

GCC complains about violations of the alias analysis rules, necessitating
use of -fno-strict-aliasing when compiling to be sure that good code is
generated.  This patch fixes the violations so that -fstrict-aliasing is
safe.

The first fix is trivial: remove a typecast from STP.cpp.  The ToSATAIG
class already inherits directly from ToSATBase, so the typecast isn't
merely unnecessary and confusing to the alias analysis code, but actually
wrong.

The second fix introduces a union and an anonymous struct to fix aliasing
problems in the ABC code.  If some compiler of interest does not like the
anonymous struct, a more invasive change can be made by naming the struct
and fixing up all references to the fCompl and Node fields.  Note that the
Kit_Float2Int and Kit_Int2Float definitions are simply removed, because
they are unused and fixing them properly would require an invasive change.
Convert the anonymous struct to a named struct for the benefit of MSVC.
Merge pull request #122 from jamesjer/master

Alias analysis fixes.