Update multiselect.js

Added attribution comment. Also modified markChecked() to handle single mode checks better. In single mode, if the same control is used for varying models, all previously checked items would remain checked. This update is to ensure previously checked items from another model does not propagate to the current model.