allocations should be ordered
Review Request #262 - Created Oct. 19, 2015 and updated
Introduces an allocation throttle that utilizes a reservation system to reserve allocations that will be performed by the allocator. Once an allocation is successfully completed it's scheduled on a given device. The metaslab group associated with that device maintains a maximum number of allocations that it can handle. Reserved allocations are distributed to metaslab groups which still have space in their allocation queue and we round robin across all eligible metaslab groups to distribute the work.