Read and update uint32_t shared ring counters atomically

Unfortunately cstruct -> ocplib-endian -> ocaml builtins
perform single byte loads and stores. We rely on single
atomic loads and stores separated by memory barriers.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Update to 0.4.1

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Regenerate OASIS

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #5 from djs55/forupstream/atomic-load-store

Read and update uint32_t shared ring counters atomically
Documentation generation.
Removed unused and inefficient pow2 function.
Standardized documentation.
Added Xenstore_ring and Console_ring to the doc.