Add new extraction refactorings

Adds the following refactorings:

* Extract Value - Similar to the current Extract Local but also allows extraction into new members fields
* Extract Method - A more flexible version of the current Extract Method that also allows to create new methods in local scopes
* Extract Parameter - Adds a new parameter to an enclosing method whose default value becomes the original expression
* Extract Closure - Creates a new extractor object based on a selected pattern in a case statement and replaces the pattern by an according unapply call
* Extract Code - Analyses the selected code snippet and proposes a list of applicable extractions. This refactoring may be used as a unified invocation method to the above refactorings.