gcc was giving a warning for a missing prototype. A prototype isn't
actually needed since there's one in pduuid.h and the function is
only used after it is defined in rng.c, but providing one will suppress
a warning without having to change the compile flags.
Added a default operator class for gin indexes on uuid[].
Since we want to support arrays containing nulls, the operator
class uses existing array support methods.
Indexing on the result of a function doesn't work for volatile
functions. This was preventing effective use of GIN indexes
on uuid types in some circumstances.
The node is now calculated by read_state and in the state
structure. The node could be reset by re-initializing
the state or calling the read state function. Given that
the mac address is just used to provide additional uniqueness
its actual value doesn't really matter, so assuming it
wasn't just a bunch of zeroes or similar, there shouldn't
be any reason to re-determine it.