This adds another case to FastEvaluateAsRValue() for boolean expressions as well as calls FastEvaluateAsRValue() in Expr::EvaluateAsConstantExpr() as well.
This way we can short-circuit evaluating simple integer and boolean literals here.
I don't have before/after numbers for compilation times, since my local builds have asan enabled (so valgrind doesn't work) and I lost access to the my asan-less build. But it shouldn't be worse than before... right?
Sorry, can't find better reviewers to add.