change "vars" parameters to be required
modify Cache to store user-specified extra dependencies
add Environment#depends() to specify user dependencies for a build target