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>
Merge pull request #60 from Lekensteyn/python3-fixes

Fix python2-ishm in C# completer
Add a workaround to prevent boost.python3 from being pulled in on systems where boost is built with both versions of python
build: do not force non-existent dylib for -DPYTHON_LIBRARY
Merge pull request #63 from shacklettbp/master

Workaround for cmake on systems with boost built against both python 2 and 3
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.
Updating to boost 1.57
Updated to gmock r501
Using gcc4.8 on Travis
Now only building tests when DEV_MODE flag set

USE_DEV_FLAGS also renamed to DEV_MODE
Revert "Now only building tests when DEV_MODE flag set"

This reverts commit d10d787d9e16a1313d67ae07edd9c41b38f56ca9.
Make g++4.8 the default Travis g++
Merge remote-tracking branch 'upstream/master'