Parallel build support for install script

We now pass the number of CPUs as the make -j argument.

Fixes #139
Ubuntu install docs now mention build-essential
Downloading x86 libclang for Ubuntu x86
Typo fix
Code style fixes
ycm_core now compiles cleanly with MSVC
More style fixes
ycm_core should be ycm_core.pyd on Windows
Removing ycm_core.dll as allowed name

I'm pretty sure that allowing ycm_core.dll was wrong. Python docs state that the
extension for compiled Python modules on Widows is "pyd"; see this link for more
details: http://docs.python.org/2/faq/windows.html#is-a-pyd-file-the-same-as-a-dll

Key quote from the page:
"Of course, foo.pyd is required if you want to say import foo."

CMakeLists.txt has been previously updated to produce a ycm_core.pyd on Windows,
not a ycm_core.dll.
Docs linking to Windows installation wiki page

That wiki page along with the last several commits that make YCM compiled
cleanly with MSVC should make it possible to use YCM on Windows. Fixes #62.
A few more clang cursorkinds supported

Now C-family completion will have fewer compeletion strings labeled as 'u' kind.
Refactoring ClangCompleter to use ResultAnd<>
Implement completer-specific commands

This provides a framework for completer-writers to create
completer-specific commands. I have in mind to use this for the clang
completer to force reloading of a flags module via `:YcmCompleter reload`.