Ident collector handles escaped starting quotes

Previously, it would consider \"foo\"bar" as a slash and a "foo\"bar" string and
this would screw up tracking of quotes in the file.

Fix #535.
Refactoring a big test into smaller tests
Slight rewording in CONTRIBUTING.md
Fixing compilation on Cygwin

Fixes #529.
Fix MSVC compilation
Fix 'vector subscription out of range' MSVC assertions
Merge pull request #546 from vitalyster/patch-1

Fix MSVC compilation
Only setting -isystem on Mac OS X
Fix class casting
Merge pull request #548 from vitalyster/trans_unit

Fix 'vector subscription out of range' MSVC assertions
Adding repo analytics
ShouldUseNow now takes a current_line param

This is now used instead of examining the vim.current.line property.
Minor code style fixes
Indentation fix
Reordering some YCM init logic
Now more explicit about accessing user options

We don't inspect the Vim process anymore when we want an option; we parse the
options on startup and then use that data structure.
Adding the frozendict module

Upstream: https://github.com/slezica/python-frozendict
Deleting some dead code
Completer access now through CompletionRequest

This will make it easier to put Completers in the server.
Decoupling completers from Vim; still WIP & broken

Note to self: squash this commit before merging into master.