Building SDE support on 64-bit Linux needs work.

Been trying to get 6.0 w/SDE support working on 64-bit Linux (SuSE). I was able to get it to work after some trial and error... Changes were:

Need to compile with -DSDE64, not sure how best to handle that in configure. Can just add CFLAGS='-DSDE64' but since 64-bit is the norm perhaps this should be detected.

With that flag set, building mapsde.c generates a dozen or so warnings about passing arguments of incompatible pointer types. In all cases it's issues with long ints. Switching to int fixes all of them except for one related to shapeObj index attribute (long). Without those changes I ran into memory allocation errors. What's the proper way to support both 32 and 64-bit in a case like this?

from #4700, this would also need to be applied:

```
void msSDELayerFreeItemInfo(layerObj *layer)
{
#ifdef USE_SDE
    msSDELayerInfo *sde = NULL;
    int i;
    if (!msSDELayerIsOpen(layer)) {
        msSetError( MS_SDEERR,
                    "SDE layer has not been opened.",
                    "msSDELayerFreeItemInfo()");
    }
    sde = layer->layerinfo;
    if (sde != NULL && sde->basedefs) {
        SE_table_free_descriptions(sde->basedefs);
        sde->basedefs = NULL;
    }
    if (sde != NULL && sde->joindefs) {
        SE_table_free_descriptions(sde->joindefs);
        sde->joindefs = NULL;
    }
    if (layer->iteminfo) {
```