The optimization introduced in Id04f57ff1e4c28357370729b6383f5119cd616dc
can lead to a starvation of certain requests under the following
conditions:
* node request with a requested provider that doesn't support the
required node types
* another provider that could technically serve the request yields to
the requested provider
* requested provider is at quota or high inflow of node request
* requested provider postpones rejecting the yielded request as it
doesn't support the required labels
To avoid starvation of those request, we only yield to the requested
provider if it is capable of serving the request. This is done by
checking the supported labels of the requested provider.
Change-Id: I0ded785a13d1f955a71d519dc40e5e5c0ec35043