Test case and fix for shlex.split unicode bug

When operating on a unicode string in python 2.6, shlex.split returns
a result that does not work with the file constructor.

To reproduce this requires a task include that is templated (this is
because the templated string is a unicode result, whereas a non-
templated string is a non-unicode string)

    [will@centos6.3] $ python
    Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
    [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import shlex
    >>> shlex.split(u'abc')
    ['a\x00\x00\x00b\x00\x00\x00c\x00\x00\x00']

    [will@fedora17] $ python
    Python 2.7.3 (default, Jul 24 2012, 10:05:38)
    [GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import shlex
    >>> shlex.split(u'abc')
    ['abc']

The proposed fix (coercing the include parameters to string before the
shlex.split) may not be ideal but it does fix the bug for my test case.
Use psycopg2's string handling to escape password string

This allows the password to contain single quotes and should make it safe to
use randomly generated passwords (provided passwords can be represented in the
connection encoding).
Add separate step update_cache example
Change the retry logic to write a limit file, able to source limit from files by indicating with @filename
Don't include the '.yml' in the path to the retry files.
Update changelog
Merge pull request #2613 from garethrees/patch-1

Add separate step update_cache example
Enable virt module to work with different libvirt connection uris. This allow to work with all libvirt supported VMs.
Merge pull request #2616 from victorcoder/devel

Enable virt module to work with different libvirt connection uris.
Merge pull request #2620 from willthames/shlex_split_bug

Test case and fix for shlex.split unicode bug
implement --start-at-task option to hop to a specific task before starting running them
initial commit.
Typo in docs
Fix Jinja2 filter plugins initialization

_get_filter_plugins() checks FILTER_PLUGINS against None hence
the latter should be initialized to None.
Don't set the item variable as eager template replacement will over-replace the variable as an empty string.
Playbook + with_items was an undocumented feature that was causing problems because it would
evaluate and replace '$item' with ''.  Really it doesn't make sense to include multiple playbooks
via a loop variable, as you can do this with task + with_items already (and it's a simpler code
path).  Given this is undocumented, this removes that feature, and we'll consider next how to
also add 'with_items' support directly to roles.
Add base64 encode and decode filters to templates
Fix some items related to playbook includes and indentation.
Since we removed the (undocumented) playbook include + with_items code, fix the tests to
compensate.
Allow jinja2 evals that produce lists to be used in with_items.  Ideally want something a bit less heavy
than the eval here.