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.
Better to do
```
for i = 1:ndims(s)
    x[i] = rand()
end
```
in order to avoid allocating an array and then making a copy.