Efficient get_dim_size for arbitrary dimensions

This implements an efficient method get_dim_size(i) to get an individual dimension, as discussed at https://github.com/ContinuumIO/libdynd/issues/78
I don't understand this comment. Aren't the built-in types just scalars, so they should go to the exception?

In any case, what would you like it to be?