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
Only compare array notations in SQLQuery->getOrderedJoins()

If more than two $from were added through SQLQuery->addFrom(),
the getOrderedJoins() comparison kicks in. It assumes all $from
parts are in array notation, which isn't always the case.
For legacy reasons, and because we don't have full API support,
you can still add literal joins through addFrom('INNER JOIN ...').
On PHP 5.3, the ordering comparison still works because it
allows array access in strings, with string rather than numeric indexes.
Thankfully that's no longer supported in PHP 5.4.
Merge pull request #2428 from PutmanMedia/pulls/sqlquery-orderby-joins

Only compare array notations in SQLQuery->getOrderedJoins()
Allow <link/> in HTMLText->exists() (fixes #850)
Styling admin notice popup
Form errors in LeftAndMain response negotiation

The session key for form errors changed from "Form_EditForm" to "CMSForm_EditForm",
causing a mismatch. See https://github.com/silverstripe/silverstripe-framework/pull/2084/files#r6338249 for discussion
getCMSValidator() docs
Merge pull request #2429 from chillu/pulls/cms-validation

Form errors in LeftAndMain response negotiation
Add how to for custom GridField row actions.
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 Use last of duplicate query params in join_links

When using Controller::join_links to join two links with identical query
params, both query params would be used in the result, ending up with
links that look like `../edit/show/14?locale=en_NZ&locale=mi_NZ`

This patch eliminates duplicate query params, so only the last one
for any key is present in the output.
Merge pull request #2434 from halkyon/cc_tabindex_fix_2

BUG Fixing tabindex added to CreditCardField when tabindex is NULL
BUG Do not rely on broken curl header size calculation.

Header parsing now takes into account situations like a proxy or
redirections. Works around the curl issue.

Also fixes the issue when a redirected request would cause a double
amount of headers coming out of the parser - it would merrily process
anything that's in key:value format even if it was two distinct headers.
Merge pull request #2436 from mateusz/restfulservice-headers

BUG Do not rely on broken curl header size calculation.
FIX Improve recent RestfulService fix for proxies