Pure Julia implementation of SobolSeq

As discussed before my holiday, a pure Julia translation of your code, @stevengj. The motivation came for usage in Optim.jl, which aims to become a pure Julia environment.

The test passed when I last tested it, but today when creating this PR it does not. I tried finding the issue for some time without success. 
I noticed that the `skip` does not produce the same result as the C implementation, but a simply looping over `next` does. 
For many dimensions, some have the same output (usually the first 5 or so) but higher dimensions differ. I'm at a loss where this comes from, but I thought I'd already put it here while I continue investigating, maybe it's something simple you will spot immediately.
This `*` is problematic.  Remember that Julia currently promotes the result of *every* operation to an `Int` (which is usually 64-bit), whereas we need 32-bit multiplication here.  (Nor is it correct to recast the result after the multiplication.)