Fixes for LeftAndMain::require_themed_css()

LeftAndMain::require_themed_css() was setting an incorrect property, and a typo meant that those requirements would never be detected anyway
FIX Making path names consistent

I've changed the variables to use the absolute path as the path is unhelpful for debugging and this is more consistent with the other lines of code below
BUG: correct handling of multiple classes
API UploadField functions on new records

Fixed regression from 1e5d40474d43ddb0ade22bbf7db5ec494b979fea (UploadField::canPreviewFolder).
Merged in pull request #2009 - (6018bdd631ec98345bba5cd26ef5a29f6f412678).
Merged pull request #1259 (34bfc862eee061ce30998a085aac6170022c3a7e).
Fixed scrutiniser issues
Fixed UploadField width (same as textual fields)

Was getting too wide due to padding which isn't applied
to other fields (e.g. TextField)
BUG Fixed major issue with testing dataobjects that implement TestOnly and extend non-TestOnly dataobjects. Database regeneration would incorrectly populate the ClassName column
New video formats in allowed_extensions

See https://github.com/silverstripe/silverstripe-installer/pull/41
Improve docs (mostly spelling)
FIX: Add missing 'groupby' and remove redundant conditional in 'having'
BUGFIX: Removed regression introduced in 9741d1. With the former in place, CMS authors can no longer perform batch publish actions
NEW: More helpful message for 'sake dev/build' on new envs.

This change alters the no-db message on cli execution to give a bit more of a helpful set-up instruction.
The main motivation for this is so that composer can be set to run dev/build on post-install and post-update.

With that feature added, this will ensure that users installing with composer create-project won't be left
in the dark.

An improvement on this would be a shell script that interactively asked for details to populate this file
with, but one step at a time.
FIX: Convert newlines to <br /> tags in string fields (fixes #1942)
FIX: Make session timeout inactive-time only.

By default, the Session.timeout configuration option specifies the total
session time, regardless of the amount of activity.  This change means
that the timeout specifies how long without any further dynamic requests
before the session cookie expires.

The way it does this is to re-set the session cookie expiry with a
subsequent Set-Cookie command each time a request that necessitates
a session is called.

Strictly speaking, it's a change in session timeout semantics, but I think
it's a good one, because total-session-time-regardless-of-activity is a
stupid timeout to include, and has more to do with the mechanics of the
internet than with application security requirements.
NEW: Add LeftAndMain.session_keepalive_ping config option.

The Session-keepalive ping that is built into LeftAndMain (i.e. all of the CMS admin) can now be
turned off.  The main reason you would want to do this is if you have enabled Session.timeout,
and you want users to be locked out of the CMS after a period.
Update server-requirements.md
Update common-problems.md
Update common-problems.md
Update common-problems.md
BUG GridFieldFilterHeader works without non-filterable cols

Previously relied on the presence of a last column which wasn't filterable,
commonly a GridFieldEditButton. If this wasn't present, the filter buttons
were never added, leading to the GridField JS reload request being sent
without the required button form action, so GridFieldFilterHeader->handleAction()
was never called.