fix(select): correctly handle ngOptions and ngMultiple together

Previously, <select ngMultiple='...'> would only work with hard-coded
<option> elements underneath, not with an ngOptions attribute. This is
because the boolean ng-multiple attribute is only actually applied inside a
scope.$watch, which happens after the link function for select is called.

The fix is to scope.$watch on the multiple attribute in the select
directive, and refresh the directive when it changes.

Closes #2113