Split clang option arguments using POSIX standard.

Uses Python standard library's `shlex` class to provide
accurate option parsing. It also prevents options quoted using
single quotes from being mishandled. i.e. The quotes are stripped
as expected.

Escaping using the escape character `\` is not supported at the
moment due to the clang_complete.vim converting all backslashes to
forward slashes (which is incorrect behaviour I might add).
However this is consistent with the current behaviour regardless.
Use shlex.split() instead of list(shlex.shlex())

Previously used `list(shlex.shlex(options, posix=True))`.
It turns out this is exactly the same as calling:
`shlex.split(options)`
So I did that instead because it's much cleaner.
Option splitting logic is now different for Windows

This change should allow for backslashes in the future. It also means
option splitting will work similarly to the native command environment.

Minimum python version increased to 2.6.

Note that cygwin python environments will use posix style option splitting.
Merge pull request #383 from Andrew-Dunn/argument_escape_handling

Split clang option arguments using POSIX standard.
UltiSnips_Manager._snippets no such attribute #382

Refactor code because of an api change in UltiSnips_Manager
Prevent vim from hanging on exit

Until now, vim would hang on exit to wait for the warmup thread or other
completion threads to finish. This can cause an annoying 1-5 seconds
delay when exiting vim. We address this issue by manually closing the
current buffer and then directly killing vim. This is a little hackish,
but we unfortunately do not have any control over running clang threads.
As we close all buffers in advance, the risk that we loose something by
killing vim is minimal. The only remaining annoyance is that vim prints
'Killed' on exit. I doubt there is a lot we can do about this.
Merge pull request #387 from abrausch/master

Fix ultisnip snippets #382
Merge pull request #389 from tobig/kill-bg-thread

Prevent vim from hanging on exit
Removed naive '\' to '/' conversion.

This was incorrect behaviour on Unix platforms, as well as having unintended
consequences on Windows.

The logic associated with handling filenames was also updated.
Merge branch 'no-backslash-conversion' of github.com:Andrew-Dunn/clang_complete into no-backslash-conversion