List ALL of the fields we are prepared to set

We had left out some fields we are setting - and this triggered a bug when one of these unlisted fields were marked 'required'.

Also, if someone sets a field that is not custom (i.e. a standard field) then we shouldn't try to derive its 'custom' type