FIX Add support for compositedbfield within many_many_extraFields

Previously selectFromTable would simply try to select the composite field name. This expands the extraField name to include the children field names and uses CompositeDBField::writeToManipulation to generate the correct SQL for the queries.
FIX suppress error with DBField::setName() if setting same name

DataObject::setField explicitly calls setName w which commonly triggers an error when setting a field to a DBField, if name is the same then the error is unrequired.