Fix declaration after use in XVimInsertEvaluator

Following from 223a8e7d9fb and edec6506114, helper methods were declared
before use, and this broke the build out of the box for me on Snow
Leopard.
Merge pull request #304 from ches/build-fixes

Fix declaration after use in XVimInsertEvaluator
implement laststatus option
Implement C_g
Merge pull request #309 from pebble8888/cursorpos

Implement C_g
Quick fix for issue #265
This may lead another problem though
Merge branch 'master' of github.com:JugglerShu/XVim
implement S for synonym for cc related to issue #281,#313
Fix cursor position after cb, cB
Fix pull when in visual mode

Remove unnecessary newline which triggers autoindent issues
Add visual Y support
Revert "Fix pull when in visual mode"

This reverts commit d1ddff9f28cee75f863fa6ac2accb224eeb38b50.
Only insert newline when in visual character mode

In visual line mode, the current selection is already at the start of the line, so there is no need to insert a newline first. And inserting a newline can trigger autoindent before the line is adding, resulting in extra whitespace.
Adds underscore motion command

Acts like ^ (first non blank in a line) but with numeric arguments greater than 1 it will go down (numeric argument - 1) lines and position the cursor on the first non blank of that line. Otherwise it just goes to the first non blank in a line. 
Merge pull request #308 from pebble8888/laststatus

implement laststatus option
Merge pull request #316 from skue/cb-fix

Fix cursor position after cb, cB
Merge pull request #318 from skue/visual-fixes

Support for Y in visual mode, indent fixes
Merge pull request #322 from weaksauce/underscoreMotion

Adds underscore motion command
Merge pull request #319 from pebble8888/shift_s

implement S for synonym for cc related to issue #281,#313