VisibilityAffectsDescendants behavior now configurable for XmlSiteMapResult

Added visibilityAffectsDescendants logic to XmlSiteMapResult (flattenhierarchy). Value for the property can be set through configuration. Html helpers are not (yet) using this property. Default behavior for XmlSiteMapResult (false) is different from the Html helpers (true), what should the default be for both?
A test still needs to be written to confirm current behavior isn't broken but the change wasn't all that complicated after all.