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]
Billboard is now inline, and does not have a fixed position

- Fixes issue where fork me link could appear out of position
- Fixes issue where project copy could overflow billboard (e.g. if long, or altering zoom/text-size)

[Finishes #55911300]
Merge commit '3997006cc1246a52ed38ebed77e0f5827ac2a4bd' into gh-pages

# By Phillip Webb
# Via Phillip Webb
* commit '3997006cc1246a52ed38ebed77e0f5827ac2a4bd':
  Protect against no 'current' project version
  Extract base_layout to page include
  Update highlightlng for maven and gradle snippets

Conflicts:
	_layouts/base_layout.html
Merge commit 'b5d0eb7f3f42a260ab299048e28a1ff0a6ae7d07' into gh-pages

# By Phillip Webb (3) and Gonçalo Silva and Nick Street (1)
# Via Gonçalo Silva and Nick Street (2) and Phillip Webb (1)
* commit 'b5d0eb7f3f42a260ab299048e28a1ff0a6ae7d07':
  Billboard is now inline, and does not have a fixed position
  Protect against no 'current' project version
  Extract base_layout to page include
  Update highlightlng for maven and gradle snippets