Insert extracted method after its previous surrounding method

**Good to merge, the PR message is obsolete**

Mirko, this is not yet ready to merge. While the refactoring works, the problem is that it inserts whitespace before the extracted method, which breaks the test.

```
  ExtractMethodTest.extractLarger:763 expected:<...It's true")
      }
[]
      private def i...> but was:<...It's true")
      }
[      ]
      private def i...>
```
Can you give me a hint on where to start searching for the code that inserts the whitespace?

Furthermore there is another test that breaks:

```
  MarkOccurrencesTest.annotatedType:218->markOccurrences:44 expected:<...ef go(t: List[ /*(*/[######/*)*/ ]) = {
          val s: ###### = ""
          t: List[######]]
        }
      }
...> but was:<...ef go(t: List[ /*(*/[String/*)*/ ]) = {
          val s: String = ""
          t: List[String]]
        }
      }
...>
```

Unfortunately I don't know how it relates to the change in the extract method implementation.