BUG Masked recarray assignment with [row][record] does not work

As reported by @tobias-andrew-marriage in https://github.com/astropy/astropy/issues/2734, assignment to a masked array containing a recarray object doesn't work properly when being assigned in `[row][record]` order (the other way around works fine; as a normal recarray it works fine too):

```
In [13]: ma = np.ma.MaskedArray([(1, 1.0), (2, 2.0)], dtype=[('a', '<i8'), ('b', '<f8')])

In [14]: ma
Out[14]: 
masked_array(data = [(1, 1.0) (2, 2.0)],
             mask = [(False, False) (False, False)],
       fill_value = (999999, 1e+20),
            dtype = [('a', '<i8'), ('b', '<f8')])

In [15]: ma[1]['a']
Out[15]: 2

In [16]: ma[1]['a'] = 3

In [17]: ma[1]['a']
Out[17]: 2
```