Refactored how the autocomplete initialises its values

Removed initSelection method in favour of directly setting the initial value
Added extra (not null) check autocompleteInput onChange function (prevents error when first called)
This should be `autocompleteInput.select2('data', data);` - without triggering `onChange` function.
Because if the `onChange` method is triggered, new dupklicate hidden inputs are created ane `multiple=true` support will be broken.