BUG onDemand plugin fixture

Added trim() to decodePath function. Headers X-Include-* comes with a
space so some files are loaded twice. Looks like that depends on a
webserver. nginx has the space.
Check if remote class exists in DataObject->getRemoteJoinField()
NEW: Created LessThanOrEqualFilter and GreaterThanEqualFilter
IMPROVEMENT/FEATURE Forcefully write javascripts to the end of the HTML if wanted.
It's defaulted to false. But when set to true, the JS is written to the end of the HTML, even though there are earlier scripts.
This results in faster page-loading if the JS isn't needed earlier-on.
Added SSViewer::get_templates_by_class() to make the functionality in LeftAndMain::getTemplatesWithSuffix() more open.
Tidy up enum matching where classname is missing
Merge pull request #2707 from wilr/enums

Tidy up enum matching where classname is missing
Merge query strings in $.path rather than duplicating

Fixes common duplications like ?locale=en_US&locale=en_US,
triggered e.g. by gridfield's showDetailView().

See https://github.com/silverstripe/silverstripe-translatable/issues/154
IMPROVEMENT/FEATURE Forcefully write javascripts to the end of the HTML if wanted.
It's defaulted to false. But when set to true, the JS is written to the end of the HTML, even though there are earlier scripts.
This results in faster page-loading if the JS isn't needed earlier-on.
NEW Force the javascripts to be put before the closing body tag
Git is complaining about a non-existing commit
IMPROVEMENT/FEATURE Forcefully write javascripts to the end of the HTML if wanted.
It's defaulted to false. But when set to true, the JS is written to the end of the HTML, even though there are earlier scripts.
This results in faster page-loading if the JS isn't needed earlier-on.
NEW Force the javascripts to be put before the closing body tag
Merge branch 'feature/force_write_js_to_bottom' of https://github.com/Firesphere/silverstripe-framework into feature/force_write_js_to_bottom
Merge pull request #2708 from chillu/pulls/addsearchparams

Merge query strings in $.path rather than duplicating
Added .content styles to debug.css, removed fieldset styling
Leave original ValidationException intact in write()

If we want DataObject->validate() to be used instead of
the form layer, we should allow for validation errors
to be passed through unchanged to the controller layer
so we can present them to the user. The context of
which class is written should be apparent from the stacktrace
of the exception.
Merge pull request #2714 from chillu/pulls/validate-write-message

Leave original ValidationException intact in write()
Merge pull request #2679 from micmania1/2658-get-templates-with-suffix

API: moved getTemplatesWithSuffix functionality out into a SSViewer
Removed debug code