New Class to replace Macros (Issue 151)

Aaron please review this new class.  Start by reading notes at top of CallState.cpp.  Review Callstate.h as well.