SAK-23628

Teach the portal about CDNs.  Introduce three new properties (yay!)

portal.cdn.path=http://nightly2.sakaiproject.org:8082
portal.cdn.version=12345
portal.cdn.expire=10

The path is a path to a CDN host that replicates your /portal and
/library at a minumum.  This should not have a trailing slash. 
If you are using skin.repo, you should prefix skin.repo with 
the URL of the CDN.

The version is a number you can change any time to force a re-download.
This simply adds a query parameter to all the javascript and
css downloads.

The expire is a number of seconds.   This adds an expire=
a query parameter to all the javascript and css downloads that
is the current time divided by the expire value.

Of course expire and version only affect browsers and tell the
browsers to grab a fresh copy.  The CDN may or may not have said
fresh copy.  You can use version and exipre without path.  In that
case all files come from your Sakai instance and version / expire
tell browsers to reload new copies of CSS and skin files.

You might find it quite useful to change the version value if
you upload new skins to your production Sakai.

The version and expire values apply to URLs constructed
from skin.repo so you can force browser reload of those files
as well by setting expire or chancing version.



git-svn-id: https://source.sakaiproject.org/svn/portal/trunk@132935 66ffb92e-73f9-0310-93c1-f5514f145a0a