Fixed meshgrid to return arrays with same dtype as arguments.

Fixes issue with meshgrid discussed in issue #5297.

A few things to note:

* meshgrid takes multiple arrays as arguments and returns multiple arrays.  With this proposed change the dtype of each returned array will have the same dtype as its corresponding argument.  An alternative would have been to use the common dtype returned by np.return_type but this didn't seem to make as much sense to me.

* I added a test case to verify that the dtypes of the returned arrays match the arguments.

* I added a test case to test_no_input because this test case would have failed before my patch if `copy=False` had been set.
Might want `subok=True` here to match the `asanyarray` above. Otherwise LGTM.