Replace FOR_ALL_WINDOWS with FOR_ALL_WINDOWS_IN_TAB(curtab)
Remove W_NEXT use `->w_next`
Use line-specific method names where possible to remove ambiguity and possibility of future clashes
Merge PR #1257 'Use line-specific method names where possible'
test: Move 'test/legacy' to 'test/functional'

Busted can only discover tests from a single directory. In order to allow tests
under 'legacy' to run as a functional test, it needed to be moved to
'test/functional'.
test: Add 'eval' functional helper

The eval helper transforms vimL expressions into lua tables, it's useful for
verifying function output.
test: Add some specs for the viml function `system()`

These new specs replace src/nvim/testdir/test_system
travis: Fix clang-asan to always display memory errors

Always check the logs in case of test failures(which would happen when ASAN
finds an error since it will abort Nvim).

Also run the 'oldtest' target from the gcc-32.sh script
eval: Fix `save_tv_as_string` to handle non-string types
wstream/shell: Fix memory errors caused by os_system

The os_system function uses a write callback to close the input stream when the
write completes, but this causes a memory error because the callback is invoked
right before the stream is freed by the caller.

This fixes the problem by removing the callback set by os_system. Instead, it
calls job_close_in immediately after writing(the stream will only close after
the write completes). The 'pending' parameter was also removed from the
'write_cb' as it should be hidden by the wstream module.

While the `wstream_set_write_cb` and `job_write_cb` are no longer used, they
will remain in the codebase for future use.
Merge pull request #1260 from tarruda/system-specs

Fix coverity defect(Resource leak) and add some specs which expose the bug to valgrind
Merge pull request #1208 from war1025/dev/remove_for_all_windows

Remove FOR_ALL_WINDOWS and replace with FOR_ALL_WINDOWS_IN_TAB(curtab)
vim-patch:7.4.444

Problem: Reversed question mark not recognized as punctuation. ( Issue 258 )
Solution: Add the Supplemental Punctuation range.

https://code.google.com/p/vim/source/detail?r=v7-4-444
Removes shelltype option and all revelant doc. #1249

Fixes #1240
doc: remove legacy os_*.txt

keeping os_dos.txt, see #1115
doc: remove gui_w16.txt
doc: remove if_sniff.txt
doc: remove if_ole.txt
doc: remove workshop.txt
doc: remove netbeans.txt