64bit: FB_ARRAYDESC_DIMLEN: ditto
64bit: FB_ARRAYDESC_LBOUNDOFS and FB_ARRAYDESC_UBOUNDOFS: ditto
64bit: Solve out last reference to the hard-coded FB_ARRAYDESCDIM
Rename the new symb.* globals again, to match the rtlib type names
ASM backend: Replace dtypeTB() size field by using typeGetSize() instead
ASM backend: Remove unused "class" field from dtypeTB()
ir-tac: Replace direct access to symb_dtypeTB() with typeGetClass()
frontend: Recognize -target win64|linux64 and also x86_64-*-* triplets

The 64bit port should use separate targets, so that we can have lib/win32/
containing the 32bit libs, while at the same time lib/win64/ has the 64bit
libs, that allows cross-compiling between the 32bit and 64bit versions.

-arch probably shouldn't be used to choose 64bit mode, because it selects
a specific arch for code generation, but does not affect the pre-compiled
libs at all. So then it makes more sense to just do "-target win64"
instead of "-target win32 -arch x86_64".
Fix bad assumption that FB_CPUTYPE enum starts 0
Trim -exx CPU type check to 386..686

so that -arch athlon won't check for i786, and -arch pentium4 won't check
for i1486...
Merge branch 'master' into 64bit
Add FB_TARGETOPT_64BIT flag to mark 64bit targets
Remove symb_dtypeTB's bits field, calculate based on typeGetSize() instead

There's no point in pre-calculating this, typeGetBits() is rarely used
and the operation is just a *8 that will be optimized to a shift.
Plus, this frees up 25*4 bytes of memory, and removes some references to
the hard-coded FB_{LONG/INTEGER/POINTER}SIZE constants.
64bit: Set data type sizes based on target, during symbInit()

In order to support compiling for 32bit and 64bit from the same fbc,
the type sizes must be set at runtime instead of being hard-coded.

Care must be taken now to not use typeGetSize() before symbInit()...
frontend: Recognize win64/linux64 (really this time), not just x86_64-*-*
Default to -gen gcc and refuse -gen gas for 64bit targets