etcupdate: Gracefully handle SIGINT when building trees.
Run the 'build_tree' function inside of a subshell and trap SIGINT to
return an error to the caller. This allows callers to gracefully
cleanup a partially created tree.
While here, redirect stdout/stderr of the subshell to the log file
instead of applying redirections individually to each command executed
while building the tree.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D29844
(cherry picked from commit 1f7afa9364805a912270c9d6a70dc4a889d47a4e)