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 not the same as in the original code, which used the smallest power of two *less* than `n`.