fix select: with ngOptions and ngMultiple

This is, I think, a fix for issue #2113 (https://github.com/angular/angular.js/issues/2113)

Previously, <select ngMultiple='...'> would only work with hard-coded
<option> elements underneath, not with ngOptions attribute. This is
because the boolean 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.

The problem is demonstrated with these two plunks:
Before patch: http://plnkr.co/edit/YCiJYpx5tq0pdc8Bp7Nb?p=preview
After patch: http://plnkr.co/edit/hyi91xNSgg3cQ96jCBPy?p=preview

I've signed the online contributor licence form, but I'm not sure how to link it with this pull request.

EDIT: At least on my machine, one of the unit tests fails: "filters date should support various iso8061 date strings with timezone as input". It came that way when I downloaded it before I made any changes, I promise!