Refactored function call info gathering.

Large project wide refactoring of how metadata about function calls is
gathered. Previously, the __FILE__, __LINE__, and __FUNCTION__ macros
would be given by hand. Now a single macro expansion is used with a
compound literal to provide a simpler way to pass invocation metadata
to methods.