Fixed clang template issue and changed flags for Clang.

The diff looks much bigger than it should be: There is whitespace sitting on the ends of like 50% of the lines that is getting killed. (Auto-whitespace removal is a (perhaps bad) environment habit I picked up from work. Speaking of which I strongly recommend enabling it on whatever editor you are using.)

The actual changes are just adjustments to the clang flags and adding "template " to every templated call to one of child's member functions.