element: use json for artifact metadata for speed

Change public.yaml files in artifacts to JSON instead of YAML.

Also bump the BST_CORE_ARTIFACT_VERSION, as we don't provide
compatability with artifacts created by an older version of BuildStream.

Note that we could have made a similar change that would not have
required a version bump - JSON is a subset of YAML. We deliberately
choose not to in order to force folks to take the feature of increased
speed for the next major version of BuildStream.

This means that the files might be less human-readable, but they are
faster and simpler for machines to read.

This 'YAML for human readability, JSON for simplicity' split is observed
by the authors of the YAML spec:

    https://yaml.org/spec/1.2/spec.html#id2759572

This change saves 3-4 seconds off a 12-13 second invocation of bst shell
like this:

    time bst shell --build --use-buildtree never target.bst echo hello

After the change, parsing artifact info doesn't take long enough to
really show up in a py-spy profile of the invocation.

My use-case has around 400 elements in it's build plan, as calculated
by:

    bst show --deps build --format BUILDDEP target.bst | grep BUILDDEP | wc -l
3 files changed