fork/copy from previous version with source and translation

http://bugzilla.redhat.com/show_bug.cgi?id=1104015
same here. Whenever a transaction ends, we should call session.clear(). Just be aware of any variables will then become detached hence needs to re-load from session.