Exporting sourcemaps

Fixes #30
Hmm.. yes. We do need to insert an empty transaction before the start of inserting a request. And since sourcemaps are exported 1-to-1 with AST, the insertion in `pd.exportSM()` is also needed.