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.
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".
i18n documentation - added note for caching in multi language modules
Tagged 3.0.6-rc2
Revert "Merge pull request #2390 from phptek/2389"

This reverts commit 58da57dd1b6b47d7e2e5a8ab109268bbae8e1c3b, reversing
changes made to 8864256601bb295f8a52ad2eea04c4e1f8087c1b.
Update 3.0.6.md

Add reference to information disclosure in Versioned.php (SS-2013-006)
Merge pull request #2413 from ss23/patch-1

Update 3.0.6.md
FIX: Fixes #2398
- hasAmount() failed to return true for values <= 0.99 and >= 0.01
- Added unit tests
MINOR: Corrected tests to use assertFalse|True()
Merge pull request #2414 from phptek/issue/2398

FIX: Fixes #2398
Adding a test for SQLQuery::setLimit() parsing OFFSET string clause.
Skipping SQLQueryTest::testZeroLimitWithOffset() for MSSQLDatabase.

This test doesn't work on MSSQLDatabase.
Fix for duplicate class definition introduced in  ddcfcf7.
Added feature file for behat test

- Added content formatting behat feature file Updated Given statement for Insert link behat feature file
- Added Behat test feature file for alignment buttons Updated formatting buttons feature file to include strikethrough formatting
Behat feature indentation (no content changes)