Expose eval'd code to analysis client

This adds a mechanism to expose eval'd code *after* instrumentation to the analysis client.  It adds a new analysis callback `instEvalCode`, which takes as arguments the iid of the `eval` in the case of direct `eval` (`-1` for indirect `eval`) and the metadata for the instrumented code, which includes serialized ASTs and top-level expression information.  We need this information for one of our clients.  The main change is in commit fe6dbd5.  The other changes are small bug fixes and refactorings.