FIX text/html type for Debug::friendlyError() in live mode

Avoid unparsed HTML responses in case of httpError(4xx) or
httpError(5xx) in live mode. The SS_HTTPResponse_Exception constructor
automatically set "text/plain" a content type, which conflicts
with the later choice of Debug::friendlyError() to return HTML.

This is a hotfix, needs more work to properly separate
logic flow from presentation concerns (e.g. through request processors).
Update server-requirements.md

Typo fix
Replace HTML entities in GridFieldAddExistingAutocompleter->doSearch() with actual charaters as the DropDown does not play nicely with HTML entities
disable source_file_comments in GridFieldAddExistingAutocompleter->doSearch() because they would be displayed as plaintext in the dropdown
added filterByCallback() to interface SS_Filterable and all implementing classes
Generic “cancel” button behaviour with History.back()

Used in “add page” dialog. See https://github.com/silverstripe/silverstripe-cms/pull/793 for context
Don't rely on Behat/Selenium returning 'value' for textarea

Technically a textarea DOM node doesn't have a 'value' attribute,
but rather a HTML content. This used to work, but likely broke either
by updated browser handling or updated selenium logic.
Fixes "Scenario: I can edit title and content and see the changes on draft"
NEW: GridField can sort on relation columns

Slightly improved logic

Add support for relations more than one 'level' apart

Add unit tests

Fixing PostgreSQL support

Throw exception if attempting to sort on a has_many/many_many relation
NEW: Pre-populate and disable foreign key field on has many lists.

This is a common use case, and by default a form field is added which
has no effect. While this coupling is undesirable, it makes the default
behaviour much more sensible.

See #2662, #2651, #2637 for more information.
Revert "Don't rely on Behat/Selenium returning 'value' for textarea"

This reverts commit 8245125349961ef0f2c35f91b10633f3ab0ae812.
FIX: scaffolded search field null selection by default

Enum search fields should default to having an empty string set
Adding test for CheckboxSetField saving into a text DB field.