FEATURE: <% include %> inherits scope of parent template

NOTE: the unit tests for this will fail until #2137 or #2113 are merged since it uses a code branch that currently has a bug on 3.1 (and either of those pull requests will fix the bug).

This pull request represents a debated topic - whether or not the <% include %> tag should inherit the scope of the caller.  For the discussion, see https://groups.google.com/d/msg/silverstripe-dev/ymCg3m5LBxE/Ccn-8Gzk-3gJ

Since there is debate on this topic, the code is structured so that you can turn this feature on globally or on a per-include basis.  By default it is off - behaving exactly like 3.0 where scope is not inherited inside an include.

I am open to other suggestion on how this should be accomplished - for instance, I don't 100% like the "inheritScope=true" arg you can pass to an include.  But I wanted to get this prototype out here to aid with the discussion referenced above.

Final note: when I first implemented this, I did not have the configurable options.  It was just by default on - every include inherited scope.  None of the unit tests in the suite failed.  Meaning that it does not seem to break anything that we are currently testing in our suites.  Since it does change what $Top and $Up would do as compared to 3.0.x, I assume that someone could be using those in their 3.0.x templates and may encounter an issue if they switched to using this - which is part of the reason I added the configurability.  But if users are coming from 2.4.x to 3.1.x, they will definitely benefit from having the ability to turn this feature on.  Without that ability, many users' templates will break in a 2.4.x->3.1.x migration.