Missing on= inference for joins (ValueError: More than one foreign key between.... Please specify which you are joining on.)
My sense is to keep this explicit when multiple FKs are present, regardless of what the previous (2.x?) behavior may have been. that's a bummer. I have heaps of queries that used to work with 2.x but now are broken (all tables have these created_by and modified_by) Well let me reconsider. Merged equivalent patch thanks.
The inference of **on=...** has changed in the case with multiple foreign keys to the same table, for example, 

```python
class User(Model):
    ...

class Record(Model):
   user = ForeignKeyField(User)
   created_by = ForeignKeyField(User)
   updated_by = ForeignKeyField(User)
```

an attempt to join `Record` to `User` without given **on=...** (`python Record.select().join(User)`)  fails with:
```
ValueError: More than one foreign key between <Model: Record> and <Model: User>. Please specify which you are joining on.
```

I reckon it used to pick up, by default, the foreign key with the name that matches the calls name, namely, **user** in this example.

