[RFC] Minor improvements to vim-patch script.

Generates a file that can directly be used as PR description. Also added some nice "icons" (though that is a bit complicated for the git commands, but I couldn't let go of it), additional hints in the text and changed the file names to `.diff`/`.patch` to comply with Github's naming (e.g. https://github.com/neovim/neovim/pull/1738.diff, https://github.com/neovim/neovim/pull/1738.patch).

Sample output:

```
$ ./scripts/vim-patch.sh 7.4.550
Retrieving Vim sources.
Updating Vim sources in '/home/florian/Projects/vim'.
pulling from https://code.google.com/p/vim
searching for changes
no changes found
✔ Found Vim tag 'v7-4-550'.

Creating Git branch.
✔ Switched to a new branch vim-7.4.550.

Creating empty Neovim commit with correct commit message.
✔ [vim-7.4.550 b6e7239] vim-patch:7.4.550

Creating files.
✔ Saved patch to '/home/florian/Projects/neovim/vim-7.4.550.diff'.
✔ Saved full commit details to '/home/florian/Projects/neovim/vim-7.4.550.patch'.
✔ Saved suggested PR description to '/home/florian/Projects/neovim/vim-7.4.550.pr'.
You can use 'git clean' to remove these files when you're done.

Instructions:

  Proceed to port the patch.
  You might want to try 'patch -p1 < vim-7.4.550.diff' first.

  Stage your changes ('git add ...') and use 'git commit --amend' to commit.

  Push your changes with 'git push origin vim-7.4.550' and create a
  pull request called '[RFC] vim-patch:7.4.550'. You might want 
  to use the text in 'vim-7.4.550.pr' as the description of this pull request.

  See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-vim
  for more information.
$ ./scripts/vim-patch.sh 7.4.550
Retrieving Vim sources.
Updating Vim sources in '/home/florian/Projects/vim'.
pulling from https://code.google.com/p/vim
searching for changes
no changes found
✔ Found Vim tag 'v7-4-550'.

Creating Git branch.
✘ fatal: A branch named vim-7.4.550 already exists.
```

### A sample PR description (`vim-7.4.550.pr`)

```
Problem:    curs_rows() function is always called with the second argument
	    false.
Solution:   Remove the argument. (Christian Brabandt)
	    validate_botline_win() can then also be removed.
```

https://code.google.com/p/vim/source/detail?r=v7-4-550

Original patch:

```diff
diff --git a/src/nvim/move.c b/src/nvim/move.c
--- a/src/nvim/move.c
+++ b/src/nvim/move.c
@@ -23,8 +23,7 @@ static void comp_botline __ARGS((win_T *
 static void redraw_for_cursorline __ARGS((win_T *wp));
 static int scrolljump_value __ARGS((void));
 static int check_top_offset __ARGS((void));
-static void curs_rows __ARGS((win_T *wp, int do_botline));
-static void validate_botline_win __ARGS((win_T *wp));
+static void curs_rows __ARGS((win_T *wp));
 static void validate_cheight __ARGS((void));
 
 typedef struct
@@ -609,17 +608,6 @@ validate_botline()
 }
 
 /*
- * Make sure the value of wp->w_botline is valid.
- */
-    static void
-validate_botline_win(wp)
-    win_T	*wp;
-{
-    if (!(wp->w_valid & VALID_BOTLINE))
-	comp_botline(wp);
-}
-
-/*
  * Mark curwin->w_botline as invalid (because of some change in the buffer).
  */
     void
@@ -678,20 +666,17 @@ validate_cline_row()
     update_topline();
     check_cursor_moved(curwin);
     if (!(curwin->w_valid & VALID_CROW))
-	curs_rows(curwin, FALSE);
+	curs_rows(curwin);
 }
 #endif
 
 /*
  * Compute wp->w_cline_row and wp->w_cline_height, based on the current value
  * of wp->w_topline.
- *
- * Returns OK when cursor is in the window, FAIL when it isn't.
  */
     static void
-curs_rows(wp, do_botline)
+curs_rows(wp)
     win_T	*wp;
-    int		do_botline;		/* also compute w_botline */
 {
     linenr_T	lnum;
     int		i;
@@ -810,9 +795,6 @@ curs_rows(wp, do_botline)
     redraw_for_cursorline(curwin);
     wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
 
-    /* validate botline too, if update_screen doesn't do it */
-    if (do_botline && all_invalid)
-	validate_botline_win(wp);
 }
 
 /*
@@ -986,7 +968,7 @@ curs_columns(may_scroll)
      * Next make sure that w_cline_row is valid.
      */
     if (!(curwin->w_valid & VALID_CROW))
-	curs_rows(curwin, FALSE);
+	curs_rows(curwin);
 
     /*
      * Compute the number of virtual columns.
diff --git a/src/nvim/version.c b/src/nvim/version.c
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    550,
+/**/
     549,
 /**/
     548,
```
Also tried `--rev`. I can't tell if it's working or not, because `hg log` shows everything since Vim 7.0. The size difference with and without `-r`/`--rev` is only 3 MB. I find it hard to believe that the differences since 2004 can be encoded in 3 MB...