CML boolean type compiles into #define and #undefs.
This is not useful for capabilities since a value of 0 or 1 can be
used automatically for setting or unsetting bits in permission words.
Meanwhile using an integer type with 0 - 1 range has a worse usability
experience than the boolean Y, N.
Also moved parsing of container.template.cml to newer Python argument
parsing format.
Container rules are too many and repetitive for each container. With this
change, the cml file is autogenerated from a container template cml and
the architecture cml, e.g. arm.cml. -c option determines the number of
containers. See build.py -h for more.