Using non-const iterators where appropriate.

Setups change (not semantically) when they are minimized.
For that reason, some [b]setups need to be non-const although.
A bsetup is a vector of setups.
We used const iterators and then val_unsafe to access the elements and
hand them over to the setup functions. Now, we use normal iterators and
use non-const val. That, by the way, was declared const accidentally
before.
Fixed: kv_t's members are const
Renamed CMake projects.
Added serialization and deserialization functions.

Conversion of stdname_t and pred_t to and from strings.
Added print_query() to common.h.

That's hacky because the type definition of query_t is hidden in
query.c.
Started ECLiPSe-CLP interface.