cleanup - backwards-incompatible changes

Two big changes:

1. `destination` helper is no longer a stack, it sets a working variable that the ok runner changes to in a subshell before calling the type assertion.

2. `symlink` and `directory` types have become singular -- they no longer take a list or glob and expand on it, rather take a single target and leave the glob and iteration management up to the config.

I also entirely rewrote the readme to give a better example and have less snark.