update the Alter system to support the data-optional attribute. when present, a template with that attribute will not be included in the check to see if we should show the page. Also updated the recursive somethingLoaded call to make it more efficient - instead of testing after every drawn template, it tests after all templates are evaluated firing if any were rendered.