Check for empty flags list

IndexErrors are not fun.
Fix a couple of minor typos in readme
Tags file reading is now off by default

As the updated docs now say, this is off by default because it makes Vim slow if
your tags are on a network location.
Merge pull request #348 from lahwran/master

Fix minor inclusion typo in readme
Not using libc++ on FreeBSD.

Fixes #349.
Updating vimdoc
Link to build bots from CONTRIBUTING.md
Fixing possible issue with `remove()` on StringVec

There is not remove() on StringVec so we need to make sure we are always
handling a list.

Fixes #347.
More updates to CONTRIBUTING.md
code style fixes
Revert "Not using libc++ on FreeBSD."

This reverts commit b451674f88e4e83c904379f64b1bb3438413c1e4.
Updating vimdoc using new conversion script
New FAQ entry about RHEL/Centos compilation errors
Adding `::` as a semantic trigger for Ruby

Fixes #367.
Clarifying a comment.
Better completion in the middle of a word

For instance (`|` represents the cursor):
  1. Buffer state: `foo.|bar`
  2. A completion candidate of `zoobar` is shown and the user selects it.
  3. Buffer state: `foo.zoobar|bar` instead of `foo.zoo|bar` which is what the
  user wanted.

This commit resolves that issue.

It could be argued that the user actually wants the final buffer state to be
`foo.zoobar|` (the cursor at the end), but that would be much more difficult
to implement and is probably not worth doing.

Fixes #374.
Updating a FAQ item on Syntastic
Updating the error message for ycm_core loading
port ycm to python3