Add LocalVar<T> copy constructor

Since every LocalVar<T> object represents a local variable with a
unique memory address, this copy constructor is nonstandard.

Also the DeclVar<T> constructor was changed to use Thread::thread_id()
during the initialization of the variable instead of MAIN_THREAD_ID.
Add conversion constructor from SharedVar<T> to LocalVar<T>
Add any<T>() that makes a nondeterministic ReadInstr<T>
Add test for Block::insert_all(empty-list)
Extract read events from branch conditions
Add block condition to Thread::error()

For an error inside a block to occur, the block must be reachable.