symlink: takes --tmpl argument

nothing fancy, just lets me do this:

  symlinks configs/* --tmpl=".\$f"

and have "configs/vimrc" symlinked to ".vimrc"
git: fix to actual working thing

turns out --git-dir nor --work-tree work as expected, like the rest of git. So,
back to $baking_dir for us
symlink: fix to actual working

turns out [ -e ] works differently than I thought.
github: use decl not src
main: bring to working

I'll figure out how to write tests for these later. Summary:

- get rid of "bork mode", the package runner will handle things
- make the operation an argument to the declaration function, that is:
    before:   $operation='status'; pkg foo
    after:    pkg status foo
  This lets packages call each other sensibly
- and therefore, we don't need bork mode :) We can just test for the package
  directly.
- pkg now calls 'bork_decl_$manager' instead of 'src_$manager'
- package_runner function manages the actual operation:
    - tests status, if missing/outdates, runs install/upgrade as appropriate
    - sets $baking_dir for every new package
    - resets/sets installed/upgraded flags for later tests
- did_install / did_upgrade / did_update helpers to test flags set by pkg_runner
- trim some fat from the "bake" command