Flake8 now ignores testdata
Using raw filepath for request data lookup

This ensures we don't get a KeyError in some unicode cases.
Swap GoToDeclaration & GoToDefinition for python

This swaps the behavior of the two. As per Valloric/YouCompleteMe#1236,
the new behavior makes more sense. This also affects the GoTo command
because.

Fixes Valloric/YouCompleteMe#1236
Changing unicode test filename

I do not want to deal with tests breaking on Mac OS X just because that
OS uses a custom UTF-8 normalisation form.

Details: http://stackoverflow.com/a/9758014/1672783

Freaking hell, unicode is hard...
Fixing python GoTo test

The recent change in python GoTo behavior broke the test; the location
is now slightly different, but still points to the same thing.
Fix python2-ishm in C# completer

Detected with:

    python -m compileall -d /tmp/py/ . -x '/tests?/'

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
Add a workaround to prevent boost.python3 from being pulled in on systems where boost is built with both versions of python
Now ignoring -M* compiler flags

Fixes Valloric/YouCompleteMe#1229
Now only allowing exclusive access to a clang TU

libclang isn't thread-safe so compiling the same file from multiple
threads doesn't work. So accessing a file TU has been (and remains)
protected by a mutex in ycm_core.

But we were allowing ycmd to block incoming completion requests on that
mutex. This could result in very long response times and eventually in
the server exhausting all of its threads. If the server uses 10 threads
and all of them are blocked on one TU mutex and a new request comes in,
that request is further blocked, even if it's only an identifier
completion request that wants nothing to do with libclang.

Now we recognize the file is being compiled in a separate request and we
raise a RuntimeError to abort early. This should prevent thread
exhaustion.
Updated to gmock r501

Conflicts:
	cpp/ycm/tests/gmock/gtest/include/gtest/gtest.h
	cpp/ycm/tests/gmock/gtest/include/gtest/internal/gtest-internal.h
	cpp/ycm/tests/gmock/gtest/include/gtest/internal/gtest-port.h
	cpp/ycm/tests/gmock/gtest/src/gtest-internal-inl.h
	cpp/ycm/tests/gmock/gtest/src/gtest-printers.cc
	cpp/ycm/tests/gmock/gtest/src/gtest-typed-test.cc
	cpp/ycm/tests/gmock/gtest/src/gtest.cc
	cpp/ycm/tests/gmock/gtest/test/gtest-death-test_test.cc
	cpp/ycm/tests/gmock/gtest/test/gtest-printers_test.cc
	cpp/ycm/tests/gmock/gtest/test/gtest_output_test_.cc
	cpp/ycm/tests/gmock/gtest/test/gtest_output_test_golden_lin.txt
	cpp/ycm/tests/gmock/gtest/test/gtest_premature_exit_test.cc
	cpp/ycm/tests/gmock/include/gmock/gmock-generated-function-mockers.h
	cpp/ycm/tests/gmock/include/gmock/gmock-generated-function-mockers.h.pump
	cpp/ycm/tests/gmock/include/gmock/gmock-generated-matchers.h
	cpp/ycm/tests/gmock/include/gmock/gmock-generated-matchers.h.pump
	cpp/ycm/tests/gmock/include/gmock/gmock-matchers.h
	cpp/ycm/tests/gmock/scripts/generator/cpp/gmock_class_test.py
	cpp/ycm/tests/gmock/scripts/gmock_doctor.py
	cpp/ycm/tests/gmock/src/gmock-matchers.cc
	cpp/ycm/tests/gmock/test/gmock-generated-matchers_test.cc
	cpp/ycm/tests/gmock/test/gmock-matchers_test.cc
	cpp/ycm/tests/gmock/test/gmock-spec-builders_test.cc
Close stdin before server starts.