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
Merge pull request #387 from abrausch/master

Fix ultisnip snippets #382
Allow to jump to definition in preview window
Rebase with upstream
Refactor "jump in preview" code based on review comments
Merge branch 'jump_in_preview' of https://github.com/bartlibert/clang_complete into jump_in_preview