Change Refactoring<'T,'U> definition

Give each refactoring a getErrorMessage function and make analysis
return bool.

Currently GetErrorMessage in AddArgument and ExtractFunction doesn't
call Rename's GetErrorMessage, so it sometimes throws an exception.
Clean up Rename implementation

Removed all duplicate code an unncecesary functions. Also changed
CommandLine.fs to not call rename using as pos.
Check name in AddArgument.GetErrorMessage

Needed to rearrange some of the functions to do this.
Use Transform, IsValid, etc. for AddArgument

In CommandLine.fs
Clean up AddArgument implementation
Remove duplicate code from ExtractFunction

Also removed some unused functions
Use Transform, IsValid, etc. for ExtractFunction

In CommandLine.fs