Surfacing ycmd server PID to user scripts

To get the PID, call function youcompleteme#ServerPid().
Printing server PID in YcmDebugInfo
GetDetailedDiagnostic actually takes 2 params

The Completer class version of the func only took 1 by mistake.
Killing some dead code
New ycmd watchdog kills server when idle too long

Defaults are kill server after 12 hours of inactivity; the reason why it's 12
hours and not less is because we don't want to kill the server when the user
just left his machine (and Vim) on during the night.
Moving client-only settings out of settings JSON

Since these options are only used on the client, they shouldn't be in
default_settings.json.
Option "shutdown_secs" is now "suicide_secs"

Calling the option server_idle_suicide_seconds should be easier to understand.
The ycm_temp dir is now accessible by all

Fixes #606
Adding a check for third_party libs present

If the user forgot to checkout the submodules, then we bork during install.sh.
Updating README with ycmd info

Lots of things changed on the ycmd branch!
Updating vimdoc from README
Merge pull request #578 from Valloric/ycmd

YCM rewritten to have a client-server architecture
Add QueryPartialMatch to ycm_core
Add complete (auto) select option
[filename_completer] Append '/' to [DIR] automatically
Add supporting vim functions: syntax stack, vimfunc handler
Support regex triggers in g:ycm_semantic_triggers using format /regex/
Add spell_completer
Improve ultisnips_completer to support regex snippet partial match
Optimize spell completer initialization