Replace `find_by_provider_and_uid` with `find_by_oauth_credentials`

We used dynamic method based on provider and uid attributes names. This was ok
as long as user either used ActiveRecord (where the method was generated
dynamically) or used other ORMs, but didn't change these fields' names, because
then the method wasn't available in model (as other ORMs don't generate methods
dynamically, and the one we wrote was called specifically
`find_by_provider_and_uid`).

Fixes #529
`sql.join(' OR ')` and `column_name(attribute) + " = :login` is not really secure.