canonicalize status codes
helper: needs_exec
migrate apt assertion to new status codes

now checks for preconditions:
- platform is Linux
- presence of apt-get exec
- presence of dpkg exec
move brew assertion to new status codes

now asserts is Mac platform, presence of brew exec
directories move to new status codes

- inserted "PARTIAL" as 12, moved MISMATCHED down
- if any items are CONFLICT, now echoes them, iterates over ALL items before
  returning.
group: migrate to new codes
user: migrate to new status codes
symlink: migrate to new status codes
str_match, use grep -E
symlink: output all conflicts
[#13] move runner and load back into main script

Solves #13.

I've been contemplating this for a while now, but it's really the right thing
to do.

Bonus: the test helpers now use `bork load` to get the environment
[#13] helpers set script dir

Fixes a test that the previous commit caused to fail.
Merge branch 'bug/runner_not_executable'
fix compile

moved compiler to bin/bork-compile.  It can't yet survive on its own, but this
is the plan for any future "operations", to do something akin to other shell
execs.

Also fixed compiler's lookup_type -> _lookup_type.. I really need to get tests
around those.
str_matches: more robust
status codes: spelling, clarity
git: migrate to new status codes
ok uses new status codes
Merge branch 'new-status-codes'
needs_exec won't echo path on success

This was causing weird output of the path in actual usage