SSP-531 Use Manifest API and add support for "extensions"

Needed to use the Manifest API to read the manifest because I know
some of the lines in the overlay-generated manifest are too long
and will wrap in a way specific to the manifest spec that would
break Properties parsing.

I also decided to go ahead and add support for outputting version
information about "extensions". This is what the Jira ticket
referred to as "deployPacks." All I'm doing is looking for
manifest entries in this pattern:

  SSP-Ext-<ExtensionName>-<EntryName>

So, for example, in our current overlay we're generating
entries like:

  SSP-Ext-UPOverlay-Artifact-Version: 1.2.0-SNAPSHOT

That would end up mapping into json like:

  {
    "extensions": {
      "UPOverlay": {
        "artifactVersion": "1.2.0-SNAPSHOT"
      }
    }
  }

We don't want to output arbitrary <EntryName>'s because people do
crazy things like like put secrets into manifests. So we only
recognize a small number of names:

  Artifact
  Artifact-Version
  Build-Date
  SCM-Revision
  Note