Ignore min-ready when at capacity

When it looks like we're at capacity, don't use min-ready nodes to
calculate demand.  Requesting min-ready when over-capacity results in
bad allocation choices; nodes with high min-ready but no real work to
do will be granted their inflated allocations.

Move the provider calculation above the demand calculations so we can
gauge how many available nodes a label will be possibly be allocated.
Clarify the operation in the documentation slightly.

Change-Id: Ifa62dd152ddeaf47aea224f9b7049aeab8b0970d
Merge "Ignore min-ready when at capacity"