Refactor choose_good_entry_server based on different usecases
The choose_good_entry_server function was used in four ways: picking out guards for the old (pre-prop271) guard algorithm; picking out guards for circuits; picking out guards for testing circuits on non-bridgees; picking out entries when entry guards are disabled. These options should be disentangled.