Fixed #3544, #12064, and #16147 - include tag.

contained in a conditional block that is false.

Added a `quiet` option to suppress template errors if it's known that
the template may not exist. This allows a template to be conditionally
included if it exists or not.

Cleaned up the BaseInclude, ConstantInclude, IncludeNode heirarchy. This
is now a single node class.

Expanded the existing include tests for better readability.