import: use context manager for lock, dirstateguard, transaction
A tiny side-effect is that the transaction is now closed after saving
the commit message.
Differential Revision: https://phab.mercurial-scm.org/D3748
#require test-repo jshint hg10
$ . "$TESTDIR/helpers-testrepo.sh"
run jshint on all tracked files ending in .js except vendored dependencies
$ cd "`dirname "$TESTDIR"`"
$ testrepohg locate 'set:**.js' \
> 2>/dev/null \
> | xargs jshint