API: Form Field ID and name attributes follows HTML specification

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

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

Marked as an API change as it potentially will break javascript / styling and custom form fields.

Includes documentation in the change log
FIX: Copy form values from new ID attributes to old keys for backwards compatibility.
PHPDoc / Coding conventions