per-machine kernel options should be tied to machine config, not just tags

It feels a bit odd to have to create a per-machine tag to express
kernel options for a machine. Especially since according to the
documentation, I can only have a single tag provide kernel options to
a machine. So if I were to create tags for nomodeset and then a tag for
serial console parameters, my deployed machine would only use the
first tag’s options.

If multiple tags attached to a machine have the kernel_opts defined, MAAS uses the first one found, in alphabetical order.

So that means, in reality, per-machine kernel options should be part
of the machine’s config, NOT a tag, and the kernel option should
aggregate and follow this order, IMO:

1: Machine level kernel options as expressed in the machine’s
config,set by UI or by Web just as you would set a minimum kernel for
an individual machine.

2: Tags that set options, which would be aggregated with the Machine
level options. This means I could set individual machine serial
console parameters at level 1, and then attach a tag at level 2 for
something like nomodeset or acpi=disable, or really both. multiple
kernel option tags should aggregate, not be an either/or scenario.

1 and 2 should aggregate, and either 1 or 2 or an aggregation of 1 and
2 should override Globals at level 3.