[vim] changeCase for blockwise visual

Little patch to implement v_b_U and v_b_u. This also allows to replay the same using '.' 
Please split out the part where you are restoring the last selection into a separate function, and call it explicitly when in replay mode. Or, this might be easier, split apart this function into 2 subfunctions that it calls so things are obvious:

`function getSelectedAreaRange(cm, vim) {
  if (!vim.visualMode) {
   return getLastSelectedAreaRange();
  } else {
   return getCurrentSelectedAreaRange();
  }
}
`

Right now it's rather confusing what this function is doing.