title: Update select2 contents while it is focused and idle
body: <p>I'm using the following code to dynamically load data into a select2 (version 2.5.3) widget.</p>
  
  <pre><code>var arr = [];
  $.ajax(...); // Load data into the array
  
  hiddenInput.select2({
      data: { results: arr }
  });
  </code></pre>
  
  <p>If I'm focused onto the search field of the widget, the new data only shows up if:</p>
  
  <ol>
  <li>I click away and then focus again</li>
  <li>I start typing into the field</li>
  </ol>
  
  <p>Calling <code>hiddenInput.val()</code> does nothing, and calling <code>hiddenInput.change()</code> or <code>hiddenInput.trigger('change.select2')</code> closes the dropdown and gets rid of any entered text.</p>
  
  <p>How do I make it so that the data is updated without requiring the user to do anything, and without resetting the state of the widget (eg. no closing and clearing the search field)?</p>