[BUGFIX] Allow Ember.Select to have selection from a Promise

A fix to address https://github.com/emberjs/data/issues/2471

Currently working for single selection only (when `multiple=false`).
For `multiple=true`, what would you support? Array of Promises? a Promise returning an Array? Promise returning an Array of Promises? something more?

Any reason why a low wait (1 and 2) at https://github.com/BookingSync/ember.js/compare/select-promises?expand=1#diff-9383c698ce8f7f75cc2f5a6790a41b47R236 and https://github.com/BookingSync/ember.js/compare/select-promises?expand=1#diff-9383c698ce8f7f75cc2f5a6790a41b47R243 works when testing in isolation but not when running all tests?
This currently works fine but might become a random failing test then :/

Thanks @igort for the help.
if this is the route we are going, this async can have strange interleavings

we need to make sure that:

1. the result is ignored if `self` is destroyed
2. that the fulfillment corresponds to the latest selectionDidChangeSingle invocation. A sequence identifier could be used to accomplish this.