Initial implementation of repository conflicts.
Implement conflicts file output.
Fix bugs with conflicts detection logic.
Fix bugs in conflicts detection algorithm.
Add the cleanup of conflicts structures.
Cleanup temporary db as well.
Rework conflicts system.

Add emitting of conflicts to a manifest.
Add loading conflicts from a manifest.
Add utility functions to operate with conflicts.
Make conflicts a hash table.
Rework and simplify conflicts detection logic.
Fix SQL queries.
Add new schema for provides and conflicts.
Add utilities to handle provides and conflicts.

Create insert and query functions for conflicts.
Create insert and query functions for provides.
Add the corresponding structures and utility functions.
Preliminary version of CUDF emitter.

TODO: decide what to do with the jobs and scenarios.
Add request field to jobs structure.
Load conflicts from a repo.
Implement the import of conflicts to a database.
Add a configuration variable for CUDF export.

CUDF_SOLVER is a new configuration option to specify the using of
CUDF solver for packages manipulations. At the moment, this variable
is boolean, however, in further it may be turned to another type
including a path to an external solver.
Fix errors found.
Fix more bugs.

Added debug output for conflicts while I'm here.
Add provide query utility function.
Add preliminary version of a SAT solver.

This version does not contain free choice variables assigning and
learning.
Add a convertor from jobs to SAT.

This is a preliminary version that just works with plain dependencies
and requires 'universe' field in jobs structure to be filled by
pkg_jobs (which is not done).

Rework SAT elements while I'm here.