Implement the option FUNC for 2D histograms (needed for TTree::Draw() with option COLZ)
remove trailing blanks.
Reset HasExternalLexicalStorage once parsed.

Avoid var name "Specialization" and its overloaded meaning.
Update the DeclContext used for lookup to point to the definition.

While the ASTReader fills the existing Decl, we create a new redecl.
This patch can be removed once we use real PCMs.
The option `colz` in a command like `nt->Draw("b:a:c>>h", "", "colz");` erased the histogram `h`. (Jira report ROOT-4508).
Remove trailing blanks.
Get the bases from the proto class if it exists (ROOT-6487).
Convert an assert to an early return: we cannot help if !ExternalSource.
Revert check for hasExternalLexicalStorage().

Templates do not have that registered (or I cannot find it);
the check causes roottest/root/meta/autoloading/templates/execTemplateAutoloading to fail.