vim-patch:7.4.173

Problem:    When using scrollbind the cursor can end up below the last line.
            (mvxxc)
Solution:   Reset w_botfill when scrolling up. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=233ad7b960d0fbeb224b383918113b25c74ebe35
Use early return for rejecting_deadly in signal_cb
vim-patch:7.4.178

Problem:    The J command does not update '[ and '] marks. (William Gardner)
Solution:   Set the marks. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=647e6bb15aa3f864eaf447fe77e3e3ae7e37b134
Implement `xstrdup` and `xstrndup`

Utility functions for copying strings to newly-allocated chunks. They either
succeed or exit the program.
Replace `strdup` calls by `xstrdup`
Implement os_microdelay and os_delay on top of it
Remove `RealWaitForChar` and `mch_new_shellsize`

The last occurrence of `RealWaitForChar` was replaced by the `os_microdelay`
function. `mch_new_shellsize` had an empty body, so there seems to be no reason
for keeping it around
Add comments and fix `os_microdelay` call
Remove unneeded variable `in_os_delay`

This variable only existed for the old SIGQUIT handler. Now it's no longer
necessary, especially when Neovim stops being a terminal program.