Adds reserve_class method to GroupExClass that takes Member object and reserves the class. Returns true if successful, and returns the exception string if not.
Reserving class method is tested
get_gx_reservations method added to member; queries all reservations for member and returns and array of hashes.
Tests for Equipment class
Adds Equipment and EquipmentListGenerator to return an array of Equipment objects.
EquipmentListGenerator handles empty equipment list
Adds Reservation class that duck-types GroupExClass as much as possible. Built from result from :get_group_ex_schedules and can get more info from :get_schedule_by_mem_id if needed. Also extracts some GroupExClass methods into module to share between Reservation and GroupExClass.