VCtools is reborn in fire

(like the phoenix ... ya know?)
totally new structure:
	* going with an svn/git architecture of one main command (vc) with many subcommands
	* aliases can provide a link from the new architecture to the old individual command style
	* the goal for this redesign is to give the user more control over what VC commands are run underneath
	* thus, config files will now be basically just lists of commands which users can override
	* although of course there will need to be extra feaures like conditionals and caching and whatnot
first cut at:
	* vc info: replaces vconfig-directive and will probably do a few more bits (like handling `vcd` guts)
	* vc stat: replaces vstat
	* vc sync: replaces vsync
	* vc stage: new; allows access to something like `git add -i`
		** not sure how I'll fake this for CVS/Subversion, but that's a problem for another day
next major wave of changes
new commands:
	* vc commit: replaces vcommit
	* vc unget: replaces vunget (i.e. does a revert)
is now smarter about figuring out what the root dir of a project is
	* you can now ask for that with `vc info project:root` (possibly needs better arg there)
	* this also enabled to clean up the $called_internally hack
	* this also enables me to have working copies outside any WorkingDir (such my ~/common dir)
can now refer to info caches ('%' vars) in commands
	* this mainly allows access to the command line args, if those have been stashed
	* e.g. defining `unget` as `git checkout -- %files`
added a validation function: verify_project()
	* makes sure that VCtools can figure out which project you're in
	* `vc stat` and `vc sync` now check this