BUG trac 7482, we werent unlazying composite fields right

In getField we check if the field we are getting is currently lazy (unloaded), and
load it if it is. This was only working for simple fields though - composite
fields like Money werent working
BUG trac 7482 couldnt publish composite fields to live

When publishing to live, DataObject#forceChange is called, which wasnt correctly loading
in fields that were lazy (unloaded) if those fields were from composite fields
like Money. The end result is that any Money values would be forced to null on
publish to live

Also changes the API of the (internal, protected) loadLazyFields method so that
not passing a class argument just unlazys all lazy fields regardless of source table
Validation error styling in CMS

Blocklevel to avoid weird alignment relative to actual form field
Highlighted background, same as other error messages
BUG Redisplay CMS forms with validation errors

Guess the fragment based on the returned HTML.
The validation error HTTP response is generated by Form rather than
the controller (LeftAndMain), so we can't set custom PJAX headers easily.
NEW Open first tab with validation errors
BUG Make RequestProcessor->filters settable as a property too

filters was a DI property that could only be set via constructor. This meant that modules couldnt add a
filter without interfering with other modules. With this change you can now add a config block like:

Injector:
  RequestProcessor:
    properties:
      filters:
        - "%$MyFilter"

Which will add a filter to RequestProcessors list of filters
Minor typo in RSS feed.
BUGFIX: UploadField does not work on DataObjects
Update docs to indicate lists not mutable as per 7673
API Prep ArrayList for immutability in 3.1 per 7673

ArrayList had several methods that should act on a copy and return
that copy, but was instead mutating the existing list.

We cant change this behaviour in the 3.0 line for backwards compt.
reasons, but this makes the desired behavior the default, and
makes disabling the mutation in 3.1 easier
API Prep DataList for immutability in 3.1 per 7673

DataList had several methods that should act on a copy and return
that copy, but was instead mutating the existing list.

We cant change this behaviour in the 3.0 line for backwards compt.
reasons, but this makes the desired behavior the default, and
makes disabling the mutation in 3.1 easier

It also introduces two new methods to deal with the common pattern
of wanting to modify the underlying dataQuery, which we want to be
able to reliably do in a way that always acts immutably. The main
method of these two is alterDataQuery
Merge pull request #655 from silverstripe-droptables/typo

Minor typo in RSS feed.
Fix typo in docs (via Joe Harvey).
Update db/build url in docs.
Merge pull request #658 from unclecheese/patch-7

BUGFIX: UploadField does not work on DataObjects in Safari
Merge pull request #652 from silverstripe-rebelalliance/trac/7482

BUG Fix issues with composite fields, as per Trac/7482
Merge pull request #654 from silverstripe-rebelalliance/fts-changes

BUG Make RequestProcessor->filters settable as a property too
API Prep forForeignID for immutability in 3.1 per 7673
BUG 7362 dont include trailing space in bare string
Merge pull request #662 from silverstripe-rebelalliance/trac/7362

BUG 7362 dont include trailing space in bare string