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.