BUG: numpy.split() should respect the dtype of its input

When given an empty range, numpy.split() returns empty arrays of
dtype float instead of the dtype of the input. Particularly annoying
when used with structured arrays.