rename advance_phase to incremental_gc_until

in fact advance_phace() is not really a "phase", but can be used
as an utility function.
cleanup redundant codes with incremental_gc_until()
Merge pull request #1392 from Fleurer/gc-rename-advance-phase

rename advance_phace() to incremental_gc_until(), and cleanup some redundant codes with it.