Allocate any point remainders each Reservation Group

This code addresses fixes #2.  There is a static reference to the smallest instance type for each instance class.  I couldn't think of a better way to do this, but maybe there is.

It always uses up any point remainders in a Reservation Group by allocating the smallest possible instance type.  It allocates them to the AZ / region based on the last entry in the Reservation Group.  This is somewhat arbitrary and in the future we may want to split them evenly across all three AZs in a region.