Force evaluation of the state in primitive_

This pull request includes a (very basic) test suite demonstrating the problem I'm trying to solve. This *did* bite me in real-world code (not yet ready for prime time, but available for browsing at: https://github.com/fpco/snoc-vector). I mentioned it on haskell-cafe yesterday:

http://www.haskell.org/pipermail/haskell-cafe/2014-July/115335.html

I'll follow up in that thread with more details.