Bug 488109 Refactoring of Extract Constant Implementation

Renewed extract constant implementation, including some improvements to
its functionality:
- Extraction of unary/binary expression trees with literals as leafs
- Improved name suggestion for integers
- Improved existing name detection
- Selection is more forgiving (caret in literal is accepted as
selection)

Patchset 2: Fixed trailing whitespace
Patchset 3: Improved progress implementation, removed unnecessary
generic
arguments and changed legacy implementation of IndentifierHelper
Patchset 4: Position of split call & line wrapping

Change-Id: I49ddb8355217e82d56728cd2abe253a63937f379
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
15 files changed