First attempt at resolving conflicts.

The criteria used are rigidly included in the source code, but that
should change in the future. For now, the criteria are:

- Avoid deletes whenever possible (for conflicts between a delete and
  something else).
- Keep the local copy of the object when in doubt (update-update
  conflicts).
- Consider all primary keys as irrelevant to the semantics of the
  application (i.e. they're auto-generated by sequences). This implies
  that an insert-insert conflict is solved by giving one of the
  objects (the local one) a different primary key.

Every kind of conflict was tested by itself using the app-tests toy
application. Next commit should include corrections from more serious
testing, and a README.