Add C++11 variadic template versions for a number of variable length argument list cases.

Figured I'd open this up for review/commentary. Not particularly critical to merge it soon, but it may be useful for a few people to remove limits on the number of dimensions allows.
Re:
```
#if __cplusplus > 199711L
#define CPP11
#endif
```
That introduces a macro CPP11 into client code and a dependency on something in another place that does not need to be there. It also gets into the #if vs #ifdef. What I wrote is a standard idiom in C++ and I really do not see a problem with it. It is also quite temporary.