Properly manage overriding of -l argument onto --rootmap-lib argument

there was a flaw in the logic. The full path of the -l argument was
considered as the library for the rootmap.
Improve fwd declarator

o Drop fwd declarations of fucntions: not needed at the moment,
fails as it is in Gaudi. Need to fwd declare arguments.
o For templates: drop fwd declaration of stl classes.
o For typedefs: enhance recursion. Now working for typedefs in
namespaces as well. This is surprising, but this is how the Clang
interface works... See diff.
Actually disable fwd declarations of functions
Remove leftover fwd decl.
Update fwd declarations routines

as it was not possible to correctly reconstruct the typedef in cases like
typedef vector<IMyClass**> IMyClassPtrPtrColl;
This is of course present in Gaudi in various forms. A recursive mechanism
able to also drill through "*" had to be put in place.
Produce protoclasses also for proxied collections

for example, in presence of a vector<MyClass>, autoparsing also in case of
IO operation was triggered. This clearly implies autoparsing for MyClass
even if no method is actually called.
fixed a typo:  '"defult" should be "default"
CINT2cling.
fix for canvas updates on Mac (http://root.cern.ch/phpBB3/viewtopic.php?f=14&t=18215)
C++ fix (cint was too forgiving) and change Pythia settings to work with 8185
Change compilation flags to support clang >3.4

removing the unsupported flag "-fno-reorder-blocks". In addition leverage the
fact that the minimum gcc version is 4.8 to provide a relwithdebinfo build
with the Og optimisation level.
From https://gcc.gnu.org/gcc-4.8/changes.html:
"A new general optimization level, -Og, has been introduced. It addresses the
need for fast compilation and a superior debugging experience while providing
a reasonable level of runtime performance. Overall experience for development
should be better than the default optimization level -O0."
fix typo
Merge branch 'master' into cmaes4root_master