Update to allow casting objects to strings (if possible) for non-composite-key id attributes.

Bug discovered when using a table with 2 columns, both being used as a composite primary key.
Columns are:
* user column linked by foreign key (which, when imported, was not mapped as an @id field) 
* datetime column

Php Datetime class was extended to implement a __toString function (as described here http://stackoverflow.com/a/15085566), but this was not being called because doctrine was not recognising the entity as having a composite primary key (due to the non-datetime user key being joined via foreign key (which may in itself be a bug)).

When adding an extra empty text field as part of the composite key, everything worked, it's just because the only non-joined-column was an object, and it managed to avoid the (implode) code that would have cast it as a string.

This change casts the object, in this case a custom datetime, to a string, if it is not part of a composite key.