(Bug 5154) Only print the multiform start if we have comments

Fixes a non-matching form tags issue
Merge pull request #467 from afuna/logout-bug5154

(Bug 5154) Only print the multiform start if we have comments
(BUG 4758) 32 themes for Librarian's Dreams - corrected number of themes in commit message
(Bug 4733) Mobility layout plus two themes

Layout by branchandroot. Child of Tabula Rasa
Suitable for mobile or desktop viewing

Several commits squashed into one
Merge pull request #445 from wahiaronkwas/bug4758-libdream-themes

(BUG 4758) 31 themes for Librarian's Dreams by Nornoriel and Musyc, with...
Merge pull request #468 from LivredOr/4733_Mobility_layout_3

(Bug 4733) Mobility layout plus two themes
(bug 5149) allow network-rel URLs in YT embeds

Youtube has started using network-relative URLs in its embed codes, eg
src="//www.youtube.com/...". This is a legit but uncommon syntax --
it means "fetch this location, using the same protocol as you used for
this page" -- eg http for http, https for https.

This patch updates the allow_iframe_embeds hook to permit URLs of this
form. Unfortunately, the URI module can't cope with them, so we have
to lie to it about the URL scheme to get the rest of its parsing to
work. We don't modify the URL that's actually used to do the
embedding, though -- just what's used for checks inside the hook.
(bug 5149) recognize network-relative URIs from YT

Tweak the URI-matching regex to recognize either a scheme of http,
of https, or a schemeless network-relative URI (starts with //)
when it is coming from Youtube.
Merge pull request #470 from rickscott/bug5149-youtube-embed-rel-urls-into-1.16

(bug 5149) allow network-rel URLs in YT embeds
Merge pull request #471 from rickscott/bug5149-youtube-embed-rel-urls-a11y

(bug 5149) recognize network-relative URIs from YT
(Bug 5163) Fallback to default when ?skin= doesn't exist

Also use $class->default instead of $class->[0] (clearer) and make sure
we don't auto-vivify when looking up the inheritance stack.
Merge pull request #472 from afuna/nonexistent-siteskin-bug5163

(Bug 5163) Fallback to default when ?skin= doesn't exist
Merge branch 'release-1.16' into develop

* release-1.16:
  (bug 5149) allow network-rel URLs in YT embeds
  (Bug 5154) Only print the multiform start if we have comments

Conflicts:
	t/embed-whitelist.t
(Bug 5152) Don't return a string for an int value

Instead, warn (and provide helpful hint to fix it) and then return 0.
Merge pull request #473 from afuna/relevant-error-oh-translation-system-bug5152

(Bug 5152) Don't return a string for an int value
(bug 2288) Move general endpoint to routing.
Merge pull request #475 from anall/feature/bug2288-general

(bug 2288) Move general endpoint to routing.