Add MaskSubsetState class

With the subset.state_as_mask method, any subset can be converted
into essentially a lookup table. This makes it easier to propagate
subsets to other datasets in some situations (for example spatially
overlapping datasets)
Add Menu item for maskifying subsets
Merge pull request #397 from ChrisBeaumont/384

Add ability to transform subsets into pixel masks