cleanup file layout/format
add list of project themes to ProjectListDTO
move test to reflect test subjects moved location
Move get of project themeNames to Website class
move test to reflect test subjects moved location
add list of project theme names to ProjectSettingsDTO
remove theme names from DTO, can change after creation in project properties
wip: add UI for project theme (not persisting yet)
theme name persists
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.
wip e2e for project settings theme
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.
wip e2e for project settings theme - find link
wip: project theme has unreliable pass; tests commented
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.
Add toggle control for chapter/verse selector

The UI for selecting a limited verse range wasn't the best, since those
fields went unused most of the time. Added a toggle control for the
selector so users can ignore it when it isn't needed. Also adapted E2E
test for the project page to expect the new UI element.
Merge remote-tracking branch 'sf/master' into projectTheme

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