Dont force ../.deps in third-party/CMakeLists.txt

- third-party is built under .deps by default instead of using its own
  ${CMAKE_BINARY_DIR}, move this default setting out of the cmake
  settings and into the Makefile.
- As a consequence the workflow of building third-party using CMake
  should feel more natural, avoid the additional folder or setting
  DEPS_DIR from the command line.
- This commit does not change the default behaviour when calling the
  Makefile wrapper.
Allow cmake caller to override DEPS_PREFIX

- Caller can override bundled dependency location using
  DEPS_PREFIX
- Cache variable DEPS_PREFIX, using .deps/usr by default
- Removed unused variables DEPS_BIN_DIR, DEPS_BUILD_DIR, DEPS_DIR
  DEPS_INSTALL_DIR
- Corner case: if the caller tries to override DEPS_PREFIX after a
  successful cmake configuration, the caller needs to clear the cache
  because dependency checks are based on the old value
build: include the flags for the build type in the _FORTIFY_SOURCE check

It turns out the check was being performed without optimizations enabled
even when the CMAKE_BUILD_TYPE was set to a release build.  This led to
_FORTIFY_SOURCE's level not being correctly determined, and us failing
to apply the correct workaround.

To counter this, we'll take the default flags for the build type and
apply them.  Also, if options are passed via CFLAGS, they are
automatically passed on to the underlying build.  So this should cover
all the necessary ground.

This fixes #1647.
Use a local viminfo file when running the old tests.

This is required after defaulting to `nocp`, so that ~/.nviminfo
files don't interfere with the old legacy tests.
Remove superfluous settings from legacy tests.
Reimplement :drop (vim-patch:0)

The :drop ex command was inadvertently removed when removing FEAT_GUI.
This patch reintroduces it.
Detect and propagate _FORTIFY_SOURCE prefix

Get prefix to a -D_FORTIFY_SOURCE string if it is present in
CFLAGS and apply the prefix to flags added to redefine
_FORTIFY_SOURCE in CFLAGS and CPPFLAGS

* fixes 1569
Merge pull request #1654 from gaurdro/rpm-fortify_source

[RFC] Fix issue 1569: Build fails in rpmbuild environment
Merge pull request #1686 from jszakmeister/include-opts-in-fortify-check

build: include the flags for the build type in the _FORTIFY_SOURCE check
Merge pull request #1588 from equalsraf/tb-no-central-deps

Dont force ../.deps in third-party/CMakeLists.txt use the Makefile instead
vim-patch:7.4.423

Problem:    expand("$shell") does not work as documented.
Solution:   Do not escape the $ when expanding environment variables.

https://code.google.com/p/vim/source/detail?r=v7-4-423
Update busted to 2.0.rc4.
Merge pull request #1702 from fwalch/update-busted

Update busted to 2.0.rc4.
Merge pull request #1701 from fwalch/vim-7.4.423

vim-patch:7.4.423
Define and use the ARRAY_SIZE macro

A similar macro is defined in the Linux kernel [1].

To refactor the code I used a slightly modified Coccinelle script I found in
[2].

```diff
// Use the macro ARRAY_SIZE when possible
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU.  GPLv2.
// URL: http://www.emn.fr/x-info/coccinelle/rules/array.html
// Options: -I ... -all_includes can give more complete results

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(*E))
+ ARRAY_SIZE(E)

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(E[...]))
+ ARRAY_SIZE(E)

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@n@
identifier AS,E;
@@

- #define AS(E) ARRAY_SIZE(E)

@@
expression E;
identifier n.AS;
@@

- AS(E)
+ ARRAY_SIZE(E)
```

`spatch --in-place --sp-file array_size.cocci -I src/ -I build/include/ -I build/src/nvim/auto/ src/nvim/*.c`

[1] http://lxr.free-electrons.com/source/include/linux/kernel.h#L54
[2] http://www.emn.fr/z-info/coccinelle/rules/#macros
Use ARRAY_SIZE where Coccinelle wasn't able to do it
Change the signature of intable() (mbyte.c) to use ARRAY_SIZE
Change the signature of utf_convert() (mbyte.c) to use ARRAY_SIZE
vim-patch:7.4.434

Problem:    gettabvar() is not consistent with getwinvar() and getbufvar().
Solution:   Return a dict with all variables when the varname is empty.
	    (Yasuhiro Matsumoto)

https://code.google.com/p/vim/source/detail?r=v7-4-434
vim-patch:7.4.442

Problem:    Using unitinialized variable.
Solution:   Pass the first window of the tabpage.

https://code.google.com/p/vim/source/detail?r=v7-4-442