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.
NEW: Created LessThanOrEqualFilter and GreaterThanEqualFilter
Added SSViewer::get_templates_by_class() to make the functionality in LeftAndMain::getTemplatesWithSuffix() more open.
Merge pull request #2679 from micmania1/2658-get-templates-with-suffix

API: moved getTemplatesWithSuffix functionality out into a SSViewer
Removed debug code
Added index docs to DataObject

Thanks to @oddnoc for getting this started, see
https://github.com/silverstripe/silverstripe-framework/pull/2686
Merge pull request #2622 from froog/patch-1

Created LessThanOrEqualFilter and GreaterThanEqualFilter
Merge pull request #2615 from a2nt/jquery.ondemand-fix

BUG onDemand plugin fixture
FIX: Year.php getDefaultOptions now fixed, sets key as year. Also added YearTest unit test.
Update SQLQuery.php

Updated `SQLQuery` class code examples for functions `setOrderBy` and `addOrderBy` to use their new names.
Merge pull request #2727 from jaydenseric/patch-1

Fixed `SQLQuery` class code examples
Clarify usage of extend within DataExtensions
beforeMemberLoggedIn/beforeMemberLoggedOut hooks

Required to save/restore parts of the session information,
which Member nukes indiscriminately on logout.

Specific use case is restoring linkages to temporary databases
on Behat test runs.
Merge pull request #2721 from froog/year_fix

FIX: Year.php getDefaultOptions now fixed, sets key as year. Also added YearTest unit test.
FIX: Defer loading of UploadField EditForm iframes (fixes #2711)

Also addresses issue #1439.

I don’t like the binding iframe.on('load') events in the onclick handler, but apparently Entwine doesn't support binding on iframes.

AssetAdmin and HtmlEditorField support added