fix(select): Fix several issues when moving options between groups

* When an option was moved to a previous group, the group that loose the option would remove the label from the controller
* When an entire option group was removed, the options in the group were mot removed from the controller
at the DOM level we are doing almost always *the right thing* (at least with 1.3). The issue is that when the controller and the DOM are not in sync, then we run into weird interactions like #10161