Factor out path conversion.
Add a bunch of comments.
Attempt to factor out common action stuff.
Accept args.
Fix pyflakes warnings.
A bunch of doc updates.