BUG: field assignment in masked array did not reset mask; closes #2403

The previous behavior when setting a field after indexing to
select an element was suitable for the hard mask case, but
not for the default soft mask.  In addition, the _hardmask
value was not being set at all in the mvoid instance.  With
this changeset, the _hardmask is passed in and __setitem__
takes it into account.

Conflicts:

	numpy/ma/core.py
Merge pull request #3450 from efiring/mvoid_setitem_1.7.x

BUG: field assignment in masked array did not reset mask; closes #2403