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)
Tagged 3.0.6-rc2
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
Add how to for custom GridField row actions.
BUGFIX: added <param> tag to ContentNegotiator filtering
BUG Fixing tabindex added to CreditCardField when tabindex is NULL

The tabindex increment *should* only be done if there is a tabindex
that has been set on a CreditCardField already, otherwise it breaks
the tab ordering.
Merge pull request #2434 from halkyon/cc_tabindex_fix_2

BUG Fixing tabindex added to CreditCardField when tabindex is NULL
Fixes silverstripe/silverstripe-framework#1910: shortcodes not parsed in RSS feeds
Squashing previous corrections into one commit along with a couple more
corrections to the docs, including changing the example seen in
fixtures.md
Merge pull request #2443 from dangerdan/doc_corrections

Documentation corrections
Merge pull request #2152 from dhensby/patch-1

FIX Empty Datefield with defined min or max has non-object error thrown
Merge pull request #2166 from dhensby/patch-2

FormFields now allow setting of extra CSSClasses en masse
BUG Fixing tabindex added to CreditCardField when tabindex is NULL

The tabindex increment *should* only be done if there is a tabindex
that has been set on a CreditCardField already, otherwise it breaks
the tab ordering.
FIX Auto-escape titles in TreeDropdownField

Related to SS-2013-009. While the default "TreeTitle" was escaped
within the SiteTree->TreeTitle() getter, other properties like SiteTree->Title
weren't escaped. The new logic uses the underlying casting helpers
on the processed objects.
FIX Escape breadcrumbs in SecurityAdmin (SS-2013-007)
FIX Auto-escape titles in TreeDropdownField

Related to SS-2013-009. While the default "TreeTitle" was escaped
within the SiteTree->TreeTitle() getter, other properties like SiteTree->Title
weren't escaped. The new logic uses the underlying casting helpers
on the processed objects.
API Escape form validation messages (SS-2013-008)