Add chrysn's definitions for EFM32.

Recovered from libopencm3 rev 0508f30d2dcd74008e76005c735dc47b7cea5132
(was deleted later as not maintained). Permission was received from
the author to re-license under 3-clause BSD license (to be effected
in following revision(s)).
Add explicit 3-clause BSD license.

From the mail with chrysn:

"i hereby allow you to publish the yaml files and the infrastructure
built around them under the terms of 3-clause bsd under my name."
Re-license under 3-clause BSD license with permission from the author.

From mail with chrysn:

"i hereby allow you to publish the yaml files and the infrastructure
built around them under the terms of 3-clause bsd under my name."
Make convenience headers optional.
Remove references to libopencm3.
Move yaml generate.py to scripts dir.
Rename generate.py -> yaml2h.py

Also, remove older adhoc format converter.
Start adding struct rendering mode.
Add reserved space calculation in structs.
Move license catalog to top-level.
Use license catalog at top dir and glob yaml files instead of generate.yaml.

Path to top dir so far needs to be passed as command-line arg.
Add some docs-related defaults.
Implement register inheritance from other components.
Convert PL061 descriptions to YAML format.
Correct register len - don't mix up with field len inside register.
Add basic LM4 GPIO YAML description.
Add support to define blocks of componnets with base addresses.
Add LM4 GPIO blocks.