Reword handler preprocessors to make sense for things other than collections
Refactor handlers to support different model types, where Collection and Element are special cases
Add a path joining helper function for handlers module
Support custom (route, handler, model) tuples in ApiApplication
join_paths improvements
Remove stray print
Handle duplicate route variables
Simplify duplicates utility method
Remove references to collections from mk_urlspec docstring.
Document path_prefix.
Remove unintentional duplicate test
Merge branch 'feature/issue-22-support-non-collection-routes-in-apiapplication' of github.com:praekelt/go-api-toolkit into feature/issue-22-support-non-collection-routes-in-apiapplication
Only utf-8 encode ElementHandler's element id route var instead of all route vars
Revert "Only utf-8 encode ElementHandler's element id route var instead of all route vars"

This reverts commit 8a965220edd6cf93bf13544c3898209c8ca1d3fe.
Merge branch 'feature/issue-22-support-non-collection-routes-in-apiapplication' into develop