Change :vsc to work with a range

While we don't actually pass the range down to the Visual Studio Command
function, the underlying commands themselves can act on the active
selection (think comment).  Given that : will always prefix a range if
there is a selection we should support the range to make key mappings
easier to use

closes #1077
Unit tests for GetAdornmentLayerNoThrow