function settle(array) {
		return _map(array, toFulfilledState, toRejectedState);
	}
Settles all input promises such that they are guaranteed not to
be pending once the returned promise fulfills. The returned promise
will always fulfill, except in the case where `array` is a promise
that rejects.
@param {Array|Promise} array or promise for array of promises to settle
@returns {Promise} promise that always fulfills with an array of
 outcome snapshots for each input promise.