Update to latest R# 8.1 SDK + rewriting AST modification logic to low-level transformations

I've added a couple of comments just to clarify some decisions... :)