Changed g* wrap relative mappings to revert to standard behaviour under nowrap

As discussed in issue #464 the new g* wrap relative line movement mappings still only move to the first or last column on the SCREEN when nowrap is set, when you would expect them to move relative to the LINE.

added/changed the following

```vim
    function! WrapRelativeMotion(key)
        if &wrap
            execute "normal! g" . a:key
        else
            execute "normal!" a:key
        endif
    endfunction

    noremap $ :call WrapRelativeMotion("$")<CR>
    noremap <End> :call WrapRelativeMotion("$")<CR>
    noremap 0 :call WrapRelativeMotion("0")<CR>
    noremap <Home> :call WrapRelativeMotion("0")<CR>
    noremap ^ :call WrapRelativeMotion("^")<CR>
```

Please improve if you are unhappy with it, but as far as I can see, it does not break anything or slow down the movement noticeably.