MINOR:added padding to ui-dialog-title so that it doesn't sit flush with the edge of the dialog box
FIX: GridField button styling

Remove all top/bottom margins from buttons and apply to GridFieldButtonRow component. Ensure that all buttons are added to a suitable GridFieldButtonRow in ModelAdmin, SecurityAdmin and Group.
FormFields now allow setting of extra CSSClasses en masse

Each CSS class passed in to `addExtraClass` or `removeExtraClass` will be set as their own key in the `extraClasses` array

Also make `Form` consistent with `FormField`
Adding tests to `FormField` and `Form` for extra classes

Added tests that were missing from `Form` and ones for my new logic
FIX Empty Datefield with defined min or max has non-object error thrown

When submitting a Datefield with no value but with a min / max config date, the validate() function attempts to access a function on $this->valueObj (which is a non-object)
FIX: wrong class name being returned

This resulted in an error since the returned class name did not exist.
Note that this only happened when someone subclassed GridFieldDetailForm
and did not subclass GridFieldDetailForm_ItemRequest.
FIX Avoid infinite loops on ?isDev=1 and Deprecation class

If any of the functionality triggered by Director::isDev()
was causing deprecation errors, the system would go into
an infinite loop. Since the only way to cause this is the DB
checking functionality, we disable that for Deprecation.
Side effect of this change: You can't show deprecation notices
on a live site by forcing the session into dev mode.
Updated fieldgroup class and example code
Added chosen.js support to dropdown in fieldgroup
Fixing expanding/collapse CMS menu targeting wrong element

If a user clicks the log out button (for example) and the menu is
collapsed, the menu expands and then you have to press log out
again
API Disable discontinued Google Spellcheck in TinyMCE

Replaced by browser-based spellchecking if available (Chrome, Firefox),
with instructions on how to use PSpell as an alternative.
Validate 'archiveDate' user data in Versioned

Not a security issue as such, since the user input is sanitized
before being used in Versioned->augmentSQL(). But it shouldn't
reach the session state either, since that's commonly assumed
to be sanitized data, and it leaves unnecessary room for error.

strtotime() has fairly loose validation rules around dates,
but its a good "first line of defence".
Returning 404 on /Security, instead of Controller.ss template

We shouldn't expose unsolicited content on public URLs,
mainly because it impacts SEO.
Only have Scrutinizer check PHP files
Exclude docs and images foldes from Scrutinizer
Correct line length and indentation
Merge pull request #2347 from simonwelsh/3.1

Scrutinizer fixes
Only have Scrutinizer check PHP files
Exclude docs and images foldes from Scrutinizer
Correct line length and indentation