Introduce 'load' keyword to novaboot scripts

THIS IS A BACKWARD INCOMPATIBLE CHANGE!!!

Any file intended to be loaded on the target MUST be prefixed with the
load keyword in the novaboot script. This is done to allow future
extension of novaboot syntax.

Idea by Pavel Píša.

Other changes in this patch:
- sanitized and simplified novaboot script parsing
- --append can be specified multiple times
- documentation fixes
Add --help to synopsis

... so that people running novaboot -h know there is more to read.
Add --kernel option
Move implementation of --chainloader and --bender to where it is documented

i.e. Script preprocessing phase.

Also move --strip-rom documentation to section "File generation phase",
because it is implemented there.
Documentation update (mainly introduction)
Fix heredoc parsing
Die if no file name is specified after load