Disable history if envvar CLING_NOHISTORY is set - for fixed memory address.
Use correct name for the internal functions
Modify Functor classes. Use now a base FunctorImpl which is contained in the Functor which implement a copy function which can be  used in the Functor copy constructors without using dynamic_cast
Fix ROOT-6036 (thanks bill)

Now IO read rules' c++ code fragments are compared differently.
The identity is not required anymore, rather the identity modulo
3 characters, '\n', ' ' and '\t'. Indeed their presence does not
alter the effect of the c++ code.
A possibility to improve the fix could be to generate a hash
starting from all the element of the io rules (modulo the
aforementioned manipulation of the code fragment!) and compare
just that one.
Revert "Fix ROOT-6036 (thanks bill)"

This reverts commit 34173d063d2f27c2728dd11e14a2bd8f0e0bb428.
The strategy adopted was actually wrong!
Signed-off-by: Danilo Piparo <danilo.piparo@cern.ch>

Do not request identity of code payload in of the ioread rules but
request equivalent C++ code, for example skipping irrelevant spaces,
carriage returns and tabulators.
Use proper allocation function for struct returns (ROOT-6028).