Provide opportunity to change RespositorySystemSession

Make respository-session public so it can be wrapped.

Allow passing in :repository-session-fn to be used
for creating a repository-session.

Fixes #54.