get rid of all these useless line numbers

I never should have committed them, really
make `vc commit` smarter about file args

now `vc commit` (w/o file args) means commit what has been staged
whereas `vc commit file [...]` means stage and commit those files
and it's an error to pass files when you have staged changes, or not to when you don't
primarily all this is handled in the config file under the 'git' section, but several features had to be added:
-	new %has_staged info function
-	expansion of the way -> conditions are handled
-	better `eval` mechanics
-	added %files to `commit`
plus lots of exciting new debugging