Avoid manual unroll of non-hot SipHash loops

As these loops will be executed only once for every #hash invokation,
it would make sense to defer the decision to unroll the loops to the
runtime.
Hoist SipHashInline range checks

In principle, this should allow the JIT compiler to remove all range
checks within the loop. I haven't had time to verify this though.
Use Unsafe to read a long at a time

While one could wish that JIT compilation optimised the eight sequential
byte reads into a single long read, it in fact does not.

This implementation should fallback to the slow implementation in a
context where Unsafe fails to load, but I haven't figured out how to
test that properly.
Merge pull request #1681 from grddev/unsafe-siphash-opt

Optimize SipHash using sun.misc.Unsafe