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.
Merge pull request #56 from xeqi/repository-session

Provide opportunity to change RespositorySystemSession