shelve: move mutableancestors to not be a closure
There's no value in it being a closure and everyone who tries to read
the outer function code will be distracted by it. IMO moving it out
significantly improves readability, especially given how clear it is
what mutableancestors function does from its name.
<?xml version="1.0" encoding="{encoding}"?>
<rss version="2.0">
<channel>
<link>{urlbase}{url|urlescape}</link>
<language>en-us</language>