Dynamically determine cache line size at compile-time.

Previously, all of my cache and false-sharing optimizations assumed a
64 byte cache line size (because most or all x86 and ARM CPUs use that size).

I'm considering buying an OpenPower based system to run MusiKernel on,
which has 128 byte cache line sizes, so add instrumentation to allow
dynamically adjusting to each architectures cache line sizes (with the
caveat that cross-compiling for another architecture may (or may not?)
report the correct size).

This should also be completely future-proof and avoid performance surprises
on any architecture.