Refactor buildset variable handling

The idea is that buildset_tree_builder filters and all input and finds
all variables defined in the value part of tokens. These variables are
gathered in a set making up the set of a buildsets required variables
minues the variables marked as static variables. Static variables are
variables that can be determined by cli arguments, like build_dir etc.

Then when serializing the buildsets to scripts (except the special pull
and clone scripts), the variables will be expanded so the scripts can
use them.