Let cmdline_get always return the last matching value

Before, it would stop as soon as it found a value. However, this would
mean that it's impossible to override a value by specifying it again
later (in particular, values from the server-side config would _not_
override values from the commandline, which seems wanted).

A few other places process commandline options without using
cmdline_get, but they loop over $(cmdline) and switch on each value.
These places would see all matching values instead of just the first one
(and usually only the last one would have effect). This commit lets
cmdline_get match that behaviour, so it makes things more consistent.
Allow specifying boot_append multiple times

Previously, only one of these options would be processed and copied to
the commandline. Since you cannot add spaces inside the boot_append
option, you could only specify one commandline option in this way. By
simply processing all boot_append options, you can specify a separate
boot_append option for each commandline option that should end up on the
commandline.