Derive FILTERED_GUARDS / USABLE_FILTERED_GUARDS from SAMPLED_GUARDS per new guard plan

New guard plan summarized at https://lists.torproject.org/pipermail/tor-dev/2016-July/011234.html

  1. Derive FILTERED_GUARDS / USABLE_FILTERED_GUARDS from SAMPLED_GUARDS
  • The filtering function can be called at any point (e.g. ON_CONSENSUS)
  • Write unittests ensuring correctness of filtering
  • See populate_live_entry_guards()
  • Thoughtworks function: filter_set() / filter_sampled()