RepositoryPrimaryKeyAttribute bug fix

Fixes #54

It wasn't properly finding the primary key when the attribute was used.
Added some test coverage for the GetPrimaryKeyPropertyInfo() method and
fixed the logic to use x.PropertyType instead of x.GetType()