Implement volatile_load and volatile_store intrinsics

This PR adds `std::unsafe::intrinsics::{volatile_load,volatile_store}`, which map to LLVM's `load volatile` and `store volatile` operations correspondingly.

I have addressed several uncertainties with this PR in the line comments.