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.
Maybe add a comment that this is just for testing?

I think it's important that we (API wise, internal to ES) make it clear that these are opaque IDs, we are free to change/improve over time, we / users shouldn't expect to be able to introspect into an ES-assigned ID to glean things like timestamp, etc.