Add useful interface for getting qualified name of decls
Enable header parsing on demand for functions

Steps accomplished in this commit:
1) Selection rules: enable the "pragma link function" and related
matching
2) Scanner: take appropriate action when visiting a FunctionDecl
3) RootCling: associate headers to FunctionDecls and store it in the
catalogue dedicated to class2header (now decl2header) association.

It is worth noting that it would be sufficient to store the function
names in the rootmaps to enable (for free!) "autoload on functions".
Indeed the same mechanisms of hpod and autoload of classes work for
functions.
Use ticks instead of quotes when printing a single char.
Get the ptr type of a non reference type, in order to meet the special printValue/Type function convention.
Before proceeding to call the special user-specific function check for the right overload.

This implementation is a bit cumbersome, but the key advantage is that we do not
create AST nodes on the heap. We create some nodes which will help the overload
candidate selector to do the selection. After it returned true/false (there is/isn't
proper function to call) we free all the used memory and proceed in calling the
user defined function.
Even better algorithm for ReSubstTemplateArg.

In the case:

   template <class T ,class U = T ,class B = ::boo::detail::empty_base<T> ,class O = typename boo::is_chained_base<U>::value >
   struct equality_comparable : boo::equality_comparable2<T, U, B> {};

   template<class T, class U, class B>
   struct equality_comparable<T, U, B, ::boo::detail::true_t> : boo::equality_comparable1<T, U> {};

   template <class T, class B>
   struct equality_comparable<T, T, B, ::boo::detail::false_t> : boo::equality_comparable1<T, B> {};

The previous algorithm did not properly notice that the 2nd argument of the base class should *not* be
replaced by the 2nd argument of the template ... but rather by the 3rd.

Rather than counting the dependent/replaced argument we now rely on the recorded index and depth
in the AST node.