Add base support for SeeC-Clang Mapped function states.

Add the class seec::cm::FunctionState, which represents the mapped state of a
single function call. Currently this class only offers the ability to:
 - Get the clang::FunctionDecl for the function.
 - Get the name of the function as a string.
 - Get the underlying (unmapped) state.

Extend seec::cm::ProcessState with an accessor to get the
seec::cm::ProcessTrace, getProcessTrace().

Extend seec::cm::ThreadState to maintain mapped function states. These are kept
in a stack and regenerated (eagerly) when cacheClear() is called. Clients can
access the function states using getCallStack(), which returns a vector of
std::reference_wrapper<FunctionState const> objects, referring to the function
states in the stack (in order).
Use a reference to the vector of FunctionState reference wrappers, rather than
copying.