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

3544 - Allow recursive includes.

12064, 16147 Don't raise a template error if a non-existent template is
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.