HTML attr encoding for UploadField config

Also fixed UploadField operation with canUpload=false, which broke the JS
because no config could be found, since the <input> field wasn't present. We
can't put the data-config attribute on the field holder, since fields can be
rendered without their field holder through FormField->SmalLFieldHolder().

Fixes https://github.com/silverstripe/silverstripe-cms/issues/874