Add min distance preference and donut filter, plus minor refactoring

As discussed, new feature to alllow donut-shaped hills filter:
* Added "Min distance (km)" and renamed other entry to "Max distance (km)".
* Hills are now only added to the `ArrayList` if they meet the new distance criteria. This should speed up the subsequent sort as the min distance increases.