support passing multiple targets to Cache#up_to_date? and #register_build
README: add example for custom builder with multiple output files