Add ability to use custom input options.

When customOptions={true}, the user will be able to input any arbitrary value as a selection value. This works in single and multi-selection modes. Because this input represents the value AND the label (or rather, we can't distinguish between the two), the inputted value will be used for both label and value in the onChange handler.

Example:
```
var opts = [
    { value: 'hobo', label: 'Hobo' },
    { value: 'home alone', label: 'Home Alone' },
    { value: 'horchata', label: 'Horchata' },
    { value: 'hohoho', label: 'Ho! Ho! Ho!' }
];
<Select multi={true} customOptions={true} options={opts} />
```