Extend SeeC-Clang-mapped trace viewing support.

Begin implementing the seec::cm::ThreadState class, objects of which now
reference their parent seec::cm::ProcessState, and the underlying
seec::trace::ThreadState that they represent. Also add an overload to
operator<< to allow printing ThreadState objects to an llvm::raw_ostream.

Add MappedStateMovement.hpp, which currently defines two functions in the
seec::cm namespace, for moving a thread's state forward or backward by one
(minimal) logical step. These functions will move the underlying (unmapped)
state objects, which may affect the process state (and other thread states).
 - moveForward(seec::cm::ThreadState &Thread);
 - moveBackward(seec::cm::ThreadState &Thread);