Added map.feature.deselect

Added requirement that subfeatures can only be deselected if they were individually selected in the first place. This prevents the case where a feature with no Id is selected, everything gets selected and the user deselects one item.  Then the widget/map has to maintain all the features selected, where some of them may not have names.