Add Threads::error(std::unique_ptr<ReadInstr<bool>>, Z3&)

Allow a thread to assert an error condition. Unlike the static function
Threads::internal_error(), Threads::error() records the read events that
occur inside the given condition. This is necessary if any of these read
events accesses shared memory. Otherwise, Threads::internal_error() may
be used. This is particularly useful in tests that use incremental SAT
solving outside any "se::ThisThread" context.

Changes:

* Remove Threads::expect()
* Add Threads::internal_error() and Threads::error()
* Make Records::insert_all(const ReadInstr<T>& instr) public
Add adapted SV-COMP'13 "fib" benchmark

The original SV-COMP'13 benchmarks can be found in an SVN repository:

 https://svn.sosy-lab.org/software/sv-benchmarks/trunk/c/

Since the pthread and pthread-atomic benchmarks are for C programs, however,
we have to adapt them. For now, we do this manually.