Test function template argument validation.
Remove dead param_decls code that's been factored out.

These are remnants of before the checking moved out into
_assert_correct_args and are no longer needed here.
Implement constant_value and result_type DummyExprCompileTime.

This makes this class behave more like a ValueExpr so that it can be used
as a short-cut when testing things that don't actually call evaluate().
Test calling a template not known at compile time.
Test a call to a function template that has runtime side-effects.
Correctly merge child data state in FunctionTemplate.call
Test FunctionTemplate.call with function that resolves to void.

This tests the case where the function can be evaluated at compile time
and returns Void.
Ignore HTML coverage reports.
Test calls to function templates that return values.