tg-export: understand more ranges and purge expr
Understand <rev>.. to mean <rev>..HEAD and similarly
..<rev> to mean HEAD..<rev> just like Git does.
Also add support for the <rev>^! notation to mean a
single commit although due to limitations of the underlying
commands being used a complaint results if <rev> does not
have exactly one parent. Nevertheless it's a convenient
shortcut.
Also take this opportunity to purge the last uses of the
`expr` utility out of the codebase and make it expr free!
Add some tg import tests as well that target these changes.
Signed-off-by: Kyle J. McKay <mackyle@gmail.com>