Use "protocol-relative URLs" for internal links

A protocol-relative URL is one that omits the http: or https: part of
the URL (see http://stackoverflow.com/q/4978235/ for details), and thus
will use the same protocol as the one used to load the current page.
This should solve the problem of, say, embedded Youtube videos not
showing up when the page is loaded by https (because the browser sees an
http embed on an https page and disables it for security reasons).
stubs for Website class
removed comment in index.php
Add script (in docs folder) to enable HTTPS

This should NOT be in src/scripts, because we do not want it exposed on
the site in any way. But it's a useful script for running on individual
development VMs, to enable HTTPS for local installations of Apache. That
way nobody else has to browse through dozens of OpenSSL cheat sheets to
find out how to specify multiple alternative DNS names in a single cert.
Redirect HTTP to HTTPS for Jamaican Psalms only

Can easily add more redirects by editing the function in the Website
class, but for now HTTPS will only be enabled for Jamaican Psalms.
Bugfix in E2E test: intermittent failure

The project settings page E2E test has an intermittent failure where
after calling browser.navigate.back(), sometimes the next line of the
test would be run "too soon", before the back() has actually completed.
Use browser.driver.wait() to fix that.
Fix truly obscure bug in E2E test on Linux hosts

The E2E test of the project settings page had another, truly obscure,
bug, which only manifested when run in a VM on a Linux host. The project
settings page E2E test tests new user creation, which (among other
things) sends a signup email. The signup email is generated and sent
using (among other things) the PHP Twig templating library, which uses a
cache directory to store its templates so it won't have to create them a
second time. The cache directory, by default, is in src/cache, and Twig
creates doubly-nested directories inside it for its cache (i.e., it
tries to create filenames like src/cache/11/22/33445566.cache). This
works fine on the production server, since the cache directory in
production can have the sticky bit set. It also works fine on Windows
development machines, where the backing filesystem for the vboxsf shared
folders doesn't understand Unix permissions and so all permissions are
set to rwxrwxrwx inside the shared folder. But on a Linux develpment
machine, the shared folder inherits the permissions of the "real" folder
on the host, but *strips the sticky bit*. So when Twig tries to create
its nested cache folders, they end up owned not by www-data, but by the
developer's user account on the host machine ("rmunn" in my case), with
the host machine's umask of 0022 applying. Thus, even if the cache
directory has the sticky bit set, Twig will be unable to create folders
inside the cache directory, and it will fail with an error about
"mkdir(): Permission denied". This in turn causes the user-creation test
to fail, along with any subsequent tests that relied on that user
existing.

Fortunately, we already have a fix: the user-creation code is configured
to check if we're in "Test Mode" and if so, tell Twig not to cache
anything. This is used in the PHP unit tests, but until now we had not
set the "Test Mode" flag (a global PHP define(), actually) in our E2E
testing. However, when testing on Linux development hosts, we need it;
so this commit sets "Test Mode" in the PHP config for E2E testing, put
into place by setupTestEnvironment.php.
Allow user to edit text USX in text settings

This commit also includes an E2E test for this feature.
Prevent chapter and verse from being negative

In USX Text import dialog, chapter and verse should never go negative.
This requires fixing in two places, since the "Add" and "Edit" dialogs,
while very similar, are in two different HTML files.
Merge remote-tracking branch 'sf/master' into projectTheme

Conflicts:
	test/app/scriptureforge/sfchecks/e2e/projectSettingsPage.spec.js