Refactor to solve secure_uri issues

- matchers are now closures with arbitrary code inside
- domain and secure_domain are simple strings, but could be closures
that take the current site version as paramerter