Replace DisplayPage with echo in upgrade script

To allow combining it with install
Fix whitespace in cListing
Mention inc.config-database.php in README
Remove unneeded parameter from cDirectory's call to cListingGroup
Fix alignment on listing page
Whitespace and comment clarification
Remove unused $today
Make DisplayListing respect SHOW_RATE_ON_LISTINGS
Some XSS protection of cPage
Protect cListing->description better against XSS, and don't convert quotes for others
Simplify listing PK

The listing's primary key was (title, category code, member id, type).
This had several disadvantages:

- Editing listing titles was impossible.
- Linking to individual listings without revealing member IDs was
  impossible. (The system is generally designed to avoid revealing
  those to non-members.)
- If the "Delete listings" form is open in two tabs and both are
  submitted, the last submission will delete unexpected listings.

This commit replaces the complex primary key with a simple serial
number. An upgrade script is provided.

For compatibility with old links, listing_(detail|edit) also accept old
parameters (e. g. from e-mail).

Some minor notes on the changes in this commit:

Many form fields referring to listing type and member ID are no longer
needed.

cListingGroup now displays links to all users, even those not logged in.
This allows removing an earlier workaround intended to display links in
e-mail updates.

cTitleList::MakeTitleArray now returns a map from listing IDs to titles,
since the primary key can no longer be constructed from context.
Also, it used to add an empty string as the only element if the list was
logically empty; this seemed useless and I removed it. An empty array is
returned instead.

In listing_detail.php, un-escaping the title seems to be redundant.

cListing::member_id was previously set without being defined. I changed
references to use cListing::member->member_id instead.

Some explicit access controls (when editing) are now added for
information that was implicitly guarded before.
More correct naming of $created
Fix Norwegian e-mail heading about updated listings and add hint
cListing can generate its URL
Make login/signup links when viewing listing
Indicate in UI that listing category is required
Make listing titles editable

This is possible now that titles no longer participate in the primary
key.
Update verify_not_duplicate to query the database for the title
specifically.
Replace LoadListing calls with global $listing.
Some reformatting for ease of reading.
Also indicate that category is required when editing