Extend filters to support a few more options AND api configurable extensions

This includes quite a big code clean up, the addition of some commonly requested automatic filters (age, country) along with the ability to specify an automatic filter by api string - e.g 

<img src='https://github.com/eileenmcnaughton/org.civicrm.module.cividiscount/blob/extended_filters/docs/images/advancedFilters.jpg'>