Ensures that primary_key method will return nil when multi-pk

When table has a composite primary key, the `primary_key` method for
sqlite3 and postgresql was only returning the first field of the key.

Ensures that it will return nil instead, as AR dont support composite pks.

[fixes #18070] - more context here https://github.com/rails/rails/issues/18070#issuecomment-67701444

review @rafaelfranca @tenderlove @sgrif 
mysql adapter was doing the right thing already, but I added a regression test for it.