Experiment with generic conventions

1. Look up functions based on "run-*" pattern
2. Support consistent argument passing scheme
3. Crude bump-version task
4. Some refactoring

Not great at structuring Clojure code, so open to tips to organise
this namespace better!