build: drop extra BOOSTCACHE_BINARY_DIR variable
build: make BOOSTCACHE_BUILD_DIR configurable
build: add different sanitizers: {thread,address,memory}

- SANITIZE_THREAD:
    Since gcc 4.8.x and newer version of clang support this feature, and it
    must be faster then valgrind, and also it must be compitable with c++11
    threads API unlike valgrind drd/helgrind.
- SANITIZEADDRESS
- SANITIZEMEMORY:
    According to http://clang.llvm.org/docs/MemorySanitizer.html:
      "MemorySanitizer requires that all program code is instrumented. This also
       includes any libraries that the program depends on, even libc. Failing to
       achieve this may result in false reports"
      ...
      "In the case when rebuilding all program dependencies with MemorySanitizer is
       problematic, an experimental MSanDR tool can be used. It is a DynamoRio-based
       tool that uses dynamic instrumentation to avoid false positives due to
       uninstrumented code. The tool simply marks memory from instrumented libraries
       as fully initialized"

    But MSanDR requres too much, and will not always works, therefore this is
    not a good idea to use it now.
    I use something like this to test using MSanDR:
      ROOT=$(dirname $0)
      DYNAMORIO=$ROOT/../../../dynamorio/exports
      DRMEMORY=$ROOT/../../../drmemory/.cmake/exported

      MSAN_OPTIONS='verbosity=1:sleep_before_dying=10' \
      MSAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.4 \
      LD_LIBRARY_PATH=$DYNAMORIO/ext/lib64/release/:$DYNAMORIO/lib64/release/:$DRMEMORY/drmf/lib64/release/:$ROOT \
      LD_USE_LOAD_BIAS=1 \
      $DYNAMORIO/bin64/drrun -v -64 -c $ROOT/libmsandr.so -- \
      $*
build: fix building boostcache with clang and c++ headers from gcc-4.9

See http://reviews.llvm.org/rL201729
utils: sanitizers: script to compile server and run simplest tests under it

See also c9d97a6cc1c90ad5ac009131f6b1a6f7379c3216 ("build: add different
sanitizers: {thread,address,memory}") this can give more information.
utils/run_tests: kill with INT signal instead of TERM (works with sanitizers)

Seems that under sanitizers TERM signal not received by the server.
travis-ci: run sanitizers