Fixes bug in generating unicode flags.
Uses 'JSON'-specified config

'bdemeta' no longer supports command-line driven configuration, requiring
instead 'JSON' description of the configuration.  This has several benefits:
the command-line parsing code can be entirely removed, and spaces may be
embedded in path names.
Fixes bug in processing 'runtests' mode.
Fixes overriding default toolchain.
Sources badges from 'shields.io'.
Reformats 'README'.
Introduces a 'CONTRIBUTING' document.
Makes 'tests' importable.

This allows individual tests to be run using 'unittest'.
Differentiate between internal and external flags.

Dependents use external flags, whereas building components and test drivers use
both internal and external flags.
Doesn't generate any -L rules.
Supports a set of '#universal' flags.

'#universal' flags are useful when requiring a set of flags be applied for any
component.
WIP