rather large change to add saner default behavior when noncallback/non-dust-like callables are passed in.
make the default env keep whitespace by default (to avoid certain confusing situations)
document keep_whitespace in the README