Better spelling.
Place the comment at the right place.
Place the code next to the use. Makes the use-def chain shorter.
Store the transactions in a std::deque.
More effecient because it doens't do copy (like std::vector) when the capacity
is exceeded.
Note future work in TClingCallFunc. We must not expose LLVMContext through the interpreter.
No Constness and semi needed anymore.
Add XFAILing test, exposing issue ROOT-5248.
Add an assert.
Fix syntax errors in the test.

I DO NOT STILL UNDERSTAND HOW THAT WAS HIDDEN BY CLING's TESTSUITE. We should
investigate seriously these issues.
Construct execution context only if there is codegen enabled.
Some transactions don't have a wrapper.
When codegenning a transaction we must set the active module in codegen to the given one.

Add an assertion checking if there is codegen.
Transform to proper assertions.
Add clarification comment.
Check on deletion if all the transactions were committed.
Move the asserts up and make the append() append only if the transaction is in state collecting.
Add an assertion at deletion time to ensure all the transactions were committed.
Since we enforced very strict policy when declarations should be added to a
transaction we have corner cases which need to be handled. For example in the
transaction transformers there could be template instantiations happening and
the transaction should be open and expecting decls.
The transaction could be in state rolled back as well.
The null DGR is a marker for nested transactions.
Instead using isNull DGR protected interface append, push back the marker in the decls queue.