Add Maven dependency for Guava
Merge branch 'guava' into dev/oss
SE-219: Refactor AmbraFreemarkerConfig to be immutable
SE-219: Debug to conform to preexisting null-handling
SE-219: Return lists instead of arrays from AmbraFreemarkerConfig

This way preserves immutability without needless array-copying, and
FreeMarker doesn't care which type it gets.
SE-219: Force existence of default journal config; prevent NPEs
SE-219: Debug rendering home page with default configuration

The home page now renders something without throwing any errors. Added
missing includes to webapp's default templates. Expanded catching of Solr
errors to swallow them as intended.
SE-219: Return empty string for URL missing from JournalConfig

Returning an empty string was already coded if the JournalConfig object was
missing entirely, so it makes sense to return the same for a present
JournalConfig with an uninitialized URL. This loosens requirements for
journal.xml.
FEND-946: Import templates into webapp

This is an import of some PLOS templates into the base Ambra webapp. It is
intended to bring the open-source Ambra front end in line with the
post-Ginsu back end and to minimize the number of custom templates that an
open-source user would need in order to host a journal. The imported
templates have had as many PLOS-specific elements as possible removed.

AmbraFreemarkerConfig now causes the complete set of CSS and JavaScript
files (with exceptions; see below) to be supplied for every page request if
not overridden in a journal.xml config file. The former default values were
obsolete and are always overridden in PLOS production. These default sets
deliberate exclude ga.js, because it is mostly PLOS-specific, and
highcharts.js, because its licensing permits it to be served to the user
only in non-commercial applications.

As of this revision, it should be possible for an installation with no
templates directory and no journal.xml files to render a (skeletal) front
page and article (if one is ingested).

Open issues: Many features haven't been checked or debugged yet. The
JavaScript code still contains hard-coded PLOS branding (appearing on
lightboxes, floating banner, etc.). The CSS needs to be changed to a new,
"generic Ambra" design rather than resembling PLOS journals. Miscellaneous
glitches with CSS and FreeMarker values.
FEND-946: Fix bad file from squash-merge
FEND-1005: Create generic look and feel to differentiate from PLOS branding
Merge branch 'dev/oss-css' into bleeding-edge