Allow recursive update to handle accessors on primary keys

Hi,
This change allows the use of accessors on primary keys and foreign keys.  It also will allow external use of the column names as well as accessors, in the data provided to recursive update.
I'm not sure if this is a common use case or not.  We have database columns with prefix fld and the DBIx::Class schema has been written to provide accessors without the fld prefix.  In this situation, recursive_update failed as it pulls the primary_columns data from the schema, which is column name not accessor and complains that the column name doesn't exist.
I kind of abused %columns_by_accessor as it now has the key accessors+column_names.

What are your thoughts?

Regards

Alex