fix Unix-specific assumption in irony--server-command

In the Windows command '$$' is just some characters as opposed to Unix
shell where it represents the PID of the running process. Use a datetime
for uniqueness instead.
Windows: fix compilation error with MSVC 2012

MSVC 2012 doesn't support initializer lists.
add timing code for completion (TO BE REMOVED)
Flush standard output after at the end of each command

For irony-server output, line buffering is not a requirement, make the
flush explicit at this location.
start writing answer only when libclang has done its work

If we want to monitor the process output to have rough estimate of the
time libclang took to work, it is better to start writing the answer
the libclang request.
irony-install-server: fix quoting of argument to work on Windows
Fix the CMake files to work on Windows

LibClangDiagnosticsChecker.c, was using C instead of C++. On Windows it
means we were compiling it in C89 mode or so, a mode where declaring
variables was not possible in for-loops, ...Just use C++ instead, it
should be less fragile.

This changes only take into consideration a native build, it hasn't been
tested on an emulation layer such as mingw.

We make the assumption that:
- a Windows compiler is used
- the package that provides libclang is the one from http://llvm.org/releases/
- libclang.dll is available in the PATH (or at least in emacs's
  exec-path).

Also remove unnecessary HINTS variables LIBCLANG_INCLUDE_PATH and
LIBCLANG_LIBRARY_PATH, the user can just use LIBCLANG_INCLUDE_DIR and
LIBCLANG_LIBRARY.
add support for clang-cl

Exception had to be disabled because it is not yet supported by
clang-cl.
irony.el: remove unused variable
make irony-install-server better on Windows

Might still require some tweaking but at least we can edit the install
command now.
fix date format for the log file
disable buffer undo list in irony server process

We don't want to accumulate the tons of data irony-server sends in the
undo list.
hide the irony-server process buffer
use start-process isntead of start-process-shell-command

Add an option to use specify a log file instead of printing to stderr so
that the Emacs process has only one stream and the shell is no longer
needed to separate stderr.
set process-adaptive-read-buffering to nil

This changes improve performances (tested on Windows):

See https://github.com/Sarcasm/irony-mode/issues/131#issuecomment-60008803
use sync_with_stdio(false) for the streams

I haven't notice any change in performance on Windows. But since we are
not using the C streams, it doesn't hurt to explicitely remove the
potential synchronization.
replace remaining usages of cl by cl-lib
Windows: document specifics needs for Windows and warn the user
Fix Markdown code block
Revert "add timing code for completion (TO BE REMOVED)"

This reverts commit ac9b1b8cdfd2d055cd5825e7c2e83702efa9e9cd.