SList improvements

I noticed that concatenation of two `SList`s wasn't working because `SList` itself missed `popFront` required by InputRange. So, simple alias fixed this.

Also someone wrote documentation comment about `opBinaryRight`, but forgot to add actual method. I fixed that.
> to creating an SList with the same root pointer.

If I understood correctly you're suggesting that `SList(this)` creates a shallow copy? But this code won't compile if we remove `SList`'s second constructor. So, 

> the constructor which take an InputRange

still gets called.