Add support for memory barriers on ARM; use the same semantics as the C xenstore

To support ARM we need to have an ARM #ifdef in barrier.h

To match the C sementics we need to use the xen_mb () barrier twice
in xenstore read/write rather than using a xen_wmb ().
Merge branch 'master' of github.com:djs55/shared-memory-ring