Standards.JSON.encode: only cycle check complex types Since the reorganization of the enum PIKE_TYPE, complex types were no longer starting at 0. Since then, checking for TYPEOF(svalue) < MAX_COMPLEX was not enough to decide if a given type may be part of a cyclic structure. In the JSON encoder this led to integers and floats being interpreted as pointers an added to the cycle check hash. This could lead to false negatives in cycle detection if a JSON structure contains an interger or floating point number which has the same byte sequence as the pointer to one of its parent structures. It also made JSON encoding slower. This commit introduces a new function IS_COMPLEX_TYPE to correctly check if a given type is complex and uses that in the JSON encoder.