refine selection extensions
introduce different kinds of visibility scopes
add insertion operations to visibility scopes
introduce superclass for extraction refactorings
introduce ExtractionScopes
don't split block scopes in sub scopes
move insert into scope operations to extraction scopes
implement extract value refactoring