server: buildfile: created more unit tests

This patch adds more unit tests for buildfile.go, mainly testing the
better defined and improved macro definitions. This involves the
replacement of special cases, such as '$$', '$' and '$UNKNOWN', as well
as testing against recursion errors.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
docs: sources: reference: *: added documentation for macros

This patch adds the relevant documentation about the `SET` instruction and
also documents macros and their use, as well as update the commandline
documentation to reflect the new option.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)