Support wraparound for moveTabLeft / moveTabRight

I've had this in my personal fork since early 2013, and I think it's much better design to match the wraparound behavior of nextTab and previousTab in this way. I've noticed that the vast majority of my use cases involve wrapping.

I also implemented moveTabToLeft and moveTabToRight, but even I don't have them mapped to anything. So I don't think it's necessary to merge that with upstream unless there's actual demand for it.