Exclusions, limit-N and minor tidying

* Abstract application of filter function to __apply_filter_func
* __check_exclusions will see whether the region should not be a
  candidate based on user defined criteria.
* User now responsible for interpreting (printing) returned region
  information (see changes to example.py)
* User can limit number of regions to return with limit keyword