title: Select2 4.0 - initialize with tag not in data list
body: <p>I have a multiple select Select2 (v4.0) item initialized as such:</p>
  
  <pre><code>$('select#testselect2').select2({
      multiple: true,
      tags: true
  });
  </code></pre>
  
  <p>There is no data source, it's completely dependent on the user entering their own multiple values. They can enter user-defined values and save back to the DB, no problem.</p>
  
  <p>When retrieving from the DB, though, I'm unable to set the Select2's value to contain the user-defined values. I've tried using <strong>$(...).val(arrayObject).trigger('change')</strong> to no avail. I've been unable to find another solution in the documentation. </p>
  
  <p>If I define some options in the select element, then use the <strong>val</strong> method above with an array containing some values defined as options AND values <em>not</em> defined in options, it will only display the option values and not the "tag" ones.
  For example, this select:</p>
  
  <pre><code>&lt;select id="testselect2" multiple="multiple"&gt;
      &lt;option value="1"&gt;1&lt;/option&gt;
      &lt;option value="2"&gt;2&lt;/option&gt;
      &lt;option value="3"&gt;3&lt;/option&gt;
  &lt;/select&gt;
  </code></pre>
  
  <p>and this code:</p>
  
  <pre><code>$('select#testselect2').val(['1','2','5']).trigger('change');
  </code></pre>
  
  <p>...will produce "1" and "2" as the selected values.</p>
  
  <p>How do I set the Select2's selected values to entries that are not in the options / data source?</p>