Add time based UUIDs

See #5941.


Using SecureRandom as a UUID generator is slow and doesn't allow us
to take adavantage of some lucene optimizations around ids with common
prefixes. This commit will allow us to use a
timestamp64bit-macAddr-counter UUID. Since the macAddr may be shared
among several nodes running on the same hardware we use an xor of the
macaddr with a SecureRandom number generated on startup.
> That's a good question, honestly probably 2-3 bytes is fine we just need to test around expected levels of ntp timeslips at high indexing volumes

+1 for 2 bytes: this buys us 64K values per msec slip which should be more than enough.

> Perhaps we should just inc the timestamp on slip ?

Maybe we could inc if sequenceId is 0?  This way we don't risk racing through the clock after a big backwards time shift?