Better unit propagation. Started query evaluation.

* Added: vector_lazy_copy[range]().
* Added: vector_remove_all().
* Added: set_lazy_copy().
* Added: set_remove_all_indices().
* Changed: clause_resolve() now uses lazy copies of clauses.
  Before we really modified the clauses. Thus we couldn't re-use the
  setup after unit propagation and therefore we had to copy the setups a
  lot of times outside unit propagation, which meant much more copying
  than if we had just copied the resolvent clauses.
  That should be less hacky and more efficient than before.
* Changed: setup_propagate_units() operates on a lazy copy of the setup
  and this setup when it's done.
  Again, that should be less hacky and more efficient than before.