Add migrate/initialize/destroy accepting a Session.

This is useful for apps embedding pillar as a library, so that they can
provide their already existing session.