Clean some codes.
Added unit test command ":xvimtest" (but tests are not implemented)
Delete some unused methods
Merge branch 'master' into refactoring

Conflicts:
	XVim.xcodeproj/project.pbxproj
Merge branch 'master' into refactoring
Now XVimWindow is associated with IDEEditorArea ( it was with DVTSourceTextView before )
Merge branch 'master' into refactoring
Merge branch 'master' into refactoring
Added some comments.
Merge branch 'master' into refactoring

Conflicts:
	XVim/IDEEditorArea+XVim.h
	XVim/IDEEditorArea+XVim.m
	XVim/XVimExCommand.m
	XVim/XVimWindow.m
Merge branch 'master' of github.com:JugglerShu/XVim into refactoring
Make simple relation between XVimWindow and IDEEditorArea
XVimWindow is XVim's interface of one text editor area(which includes
several text views like primary editor and assistant editro)
XVimWindow internally holds pointer to IDEEditorArea to manage and
all the request to XVimWindow will be translated into IDEEditorArea.
Merge branch 'master' into refactoring

Conflicts:
	XVim/XVimCommandLineEvaluator.m
	XVim/XVimWindow.h
	XVim/XVimWindow.m
Delete insertionPoint method from all the evaluator classes
Move draw insertionpoint feature from evaluators to XVimWindow.
Now each evaluator only provides the size of the caret and
XVimWindow draw the caret based on them.
Added comment on XVimWindow
Fix insertion point rect drawing when onechar mode in insert mode
Made XVimSourceView to have its visual state in it instead of
XVimVisualEvaluator.
The state and operation on source view must be carried out by calling
XVimTextViewProtocol and XVimVisualEvaluator just handles what kind of
action to make.

This commit is on the way to the completion of refactoring and
a lot of operations are not working now.
Support C_v to select block.
(It only support selection and operation is not working yet!)
Some motions now uses new interface of XVimSourceView.
This commit breaks a lot of features.
Currently only movements are working.
Merge branch 'master' into refactoring