made reduce_along_dim preserve dtype by default (as discussed in #92)

There's still some remaining inconsistencies with when a number is returned vs. when a matrix of a single element is returned, but I'll open a separate issue for that.