Fix crash when an object's GetHashCode() returns a negative number
Fix crash when an object's GetHashCode() returns a negative number

The original Lua implementation of 'hashpointer' is

#define hashmod(t,n)   (gnode(t, ((n) % ((sizenode(t)-1)|1))))
#define hashpointer(t,p)       hashmod(t, IntPoint(p))
#define IntPoint(p)  ((unsigned int)(lu_mem)(p))

Note carefully that it interprets 'p' as an UNSIGNED integer.
GetHashCode() returns a SIGNED value; if the value was negative,
the '%' operator would return a negative number, and gnode() would
look outside the bounds of the array. Oops.

Stevie-O/SharpLua,Stevie-O/SharpLua,Stevie-O/SharpLua