Merge pull request #2620 from willthames/shlex_split_bug

Test case and fix for shlex.split unicode bug
Playbook to demonstrate template logic error

Here templating goes too far
Need to test if a value is set (or unset) - but the value is substituted
before the test

Test with
```
ansible-playbook -i test/ansible_hosts -e 'external=xyz' test/playbook-when.yml
```