Merge pull request #11 from robstewart57/master

atomic-primops with Template Haskell test executable.
First patch to get the library installing under GHC HEAD as well as ghc-7.6
Merge branch 'master' of github.com:rrnewton/haskell-lockfree-queue
Minor: fix contradictory reqs for chaselev + version bump for atomic-primops
Bump chaselev, must release or there's api inconsistency
Add a sketch of the very first bit of a vector-atomics lib
Begin to fill in instances for Storable vector
Remove the bits-atomic dependency and bump version.
Tweak to previous: expose old module if flag is set
Discover and fix issue #15.

The fix needs to be carried over to casArray as well, and the tests need to be updated.

I'm not sure how this fix should be pushed into GHC... it comes at a bad time re: 7.8.
Apply the fix to casArray as well, currently untested.  Re: #15.
Reenable hello-world target for AtomicPrimops/testing to avoid confusing cabal.  Fix one other minor cabal bug wrt the dependencies.
Another experiment, try __sync_val_compare_and_swap.  This also
fixes issue #15 and passes test n_threads_mutate.  Out of the three
options the GHC version of cas() is the only one that causes the
spurious success errors.
BROKENS STATE.  Try a couple experiments to fix the inline asm for cas().  No luck.
adding ghc 7.8 compatibility to the atomic primops
Fix #15 for real.  The core problem was that ghcplatform.h was not
included and that we were falling back to a sequential version because
WITHSMP was also not defined.
Merge pull request #16 from cartazio/ghc7.8-compat

adding ghc 7.8 compatibility to the atomic primops
Clean out cruft that was put in there while working on #15.  Passes tests on 7.6
Following pull #16, there's really no reason to have the barriers as primops.
We didn't add these primops to GHC 7.8, so for now they're simply C function
calls in both 7.6 and 7.8 and so we can cut out some more cruft.
Bump version for bugfix release