Disable ID based partial caching for all security actions

Disables ID based partial caching for all security actions so that actions such as Security/lostpassword and Security/passwordsent work properly even if partial caching is used.
Merge pull request #1780 from hdrlab/patch-4

Disable ID based partial caching for all security actions
FEATURE Add Convert::raw2htmlid()
Remove references to ComplexTableField
PHPDoc updates
PHPDoc
API: Form Field ID attribute should follow HTML specification

Fixes: http://open.silverstripe.org/ticket/4431.

Changes Form and Form Field classes to make use of Convert::raw2htmlid() which follows http://www.w3.org/TR/REC-html40/types.html#type-cdata.

Introduces a FormTemplateHelper class to assist in these sort of updates in the future.
FIX: Update references to ID values from 79c9433
Use upper case to represent HTTP methods for forms

Per [RFC 2616 section 5.1.1][ietf], HTTP methods are case-sensitive.

- Change the internal representation of the form's method to upper case
- Update FormTest to accommodate the case changes
- Change method to lower case for HTML in Form#getAttributesHTML()
[ietf]: http://tools.ietf.org/html/rfc2616#section-5.1.1
Using extendedCan for can*
Merge pull request #2030 from oddnoc/form-submission-method-case-fix

Use upper case to represent HTTP methods for forms
MoneyTest_Subclass::$db needs to be private.
Use the new form ID selectors for FormTest
FIX: Generate Form::FormName() through
Code formatting
Merge remote-tracking branch 'origin/3.1'

Conflicts:
	.travis.yml
Merge branch 'idvalidattr' of git://github.com/wilr/sapphire into wilr-idvalidattr
API Using $HolderID for form field container templates

Replaces duplicate $ID usage.
See https://github.com/silverstripe/silverstripe-framework/pull/1873
Fixed UploadFieldTest to work with new FormField holder IDs
Merge remote-tracking branch 'origin/3.1'