Monkey patch to support unicode fill values in masked arrays for Numpy 1.7 and earlier

This is a possible solution to the bug identified in #2055.

Always wary of monkey patching, as it can cause unintended side effects for users who might also be monkey patching, but this seems like a pretty clean fix as far as monkey patches go, and we do have precedence for this (in `io.fits`).

I'm milestoning this as 0.4, since this bug is only exercised by our test suite when unicode literal dual-mode testing is used, which is only on the 0.4 branch, but strictly speaking this bug in Numpy is lurking regardless.

Cc: @embray, @taldcroft, @astrofrog.