Add a TryFindBindingAroundPos function
Add a FindBindingAroundPos function
Add a test and some fixes for Rename.GetChanges

It now returns a ((int*int)*(int*int))*string list, instead of a
range*string list
Implement GetChanges for AddArgument with test

Currently still returns a single change which ranges over the entire
file.
Implement GetChanges for ExtractFunction with test

As for AddArgument, just returns one change for the whole file.
Extract duplicate code into a helper function