Upsert documentation is incorrect
The tests have an example:

```python
    def test_update(self):
        # Conflict on empno - we'll preserve name and update the ID. This will
        # overwrite the previous row and set a new ID.
        res = (Emp
               .insert(first='foo', last='bar', empno='125')
               .on_conflict(
                   conflict_target=(Emp.empno,),
                   preserve=(Emp.first, Emp.last),
                   update={Emp.empno: '125.1'})
               .execute())
        self.assertData([
            ('huey', 'cat', '123'),
            ('zaizee', 'cat', '124'),
            ('foo', 'bar', '125.1')])

        # Conflicts on first/last name. The first name is preserved while the
        # last-name is updated. The new empno is thrown out.
        res = (Emp
               .insert(first='foo', last='bar', empno='126')
               .on_conflict(
                   conflict_target=(Emp.first, Emp.last),
                   preserve=(Emp.first,),
                   update={Emp.last: 'baze'})
               .execute())
        self.assertData([
            ('huey', 'cat', '123'),
            ('zaizee', 'cat', '124'),
            ('foo', 'baze', '125.1')])
```
Upsert [documentation](http://docs.peewee-orm.com/en/latest/peewee/querying.html?highlight=upsert#upsert) refers to `on_conflict` method, but that method does not support `conflict_target` parameter anymore.

It is very confusing on what is the right approach to upsert into Postgresql database. I used this and it worked for me:

```
    aid = (Settings
           .update(name='version', value=version)
           .on_conflict()
           .execute())
```