Add 'error' command to Tupfiles

It is useful to be able to express build option configuration errors in
Tupfiles. For example, if a project requires a variant to be set, but
there is no reasonable default, the top-level Tupfile could include:

    ifndef PLATFORM
    error The variable PLATFORM must be defined. Did you forget to set up a variant?
    endif

I did not include analogous directives 'warning' and 'info' frequently
found in other build systems as they do not intrinsically make as much
sense; should they print every time, or only when the relevant Tupfile has
changed? 'error', however, is clear as it forces the parser to fail.

I played with a few different styles of output to both (i) look good, and
(ii) differentiate itself from a tup usage error (e.g. a syntax error),
but I'm not strongly attached to it.