Adding pygments highlightlng to maven and gradle snippets

[Finishes #55617424]
Update highlightlng for maven and gradle snippets

Replace the highlighting logic used for maven and gradle snippets with
Jekyll code snippet highlighting (`{% highlight %}`). This change both
simplifies `widget_templates.html` and allows external pom/gradle
includes to be highlighted.

The change also splits `widget-template` into two distinct elements,
one for the dependencies and one for repositories. This is necessary
due to the fact the the `{@ @}` condition statements used by
`underscore.js` are incorrectly highlighted as errors when parsing
`gradle` snippets (preventing them from being recognized). Splitting the
repository template has the additional benefit of custom pom/gradle
files no longer need to specify a repository section.

[Finishes: #55617424]
Merge pull request #2 from philwebb/55617424

* 55617424:
  Update highlightlng for maven and gradle snippets
Extract base_layout to page include

Extract the content of `_layouts/base_layout` to `_includes/page.html`
and include a new `{{head}}` section.

This change allows projects to include `page.html` and define a
custom `head` include section for custom content (such as css or js
imports).
Protect against no 'current' project version

Update the selectCurrent function of projectDocumentationWidget.js to
deal with a project that had no 'current' version.

Prior to this commit the selectedIndex of such projects would be
`undefined` causing a template render error that prevented the drop-down
from being displayed.

[Finishes #56463648]
Merge remote-tracking branch 'gh-pages-upstream/gh-pages' into gh-pages