ec2_vol: update docs to match default device_name values for Unix/Windows.
ec2_vol: do no work if the instance has a volume mounted at the device.
Tweaked merge_hash to also affect Runner behavior
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 availability zone parameter
implement --start-at-task option to hop to a specific task before starting running them
initial commit.
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.
Use safe_eval vs eval.
Enable usage of when_set within new eval system.
Style fixes so "make pep8" is clean.
Allow $foo and {{ bar }} to be used on the same line in playbooks.
Use Jinja2 strict undefined in string templating to allow the default filter to be used.
Add code to flag legacy templating like $foo.{bar} as deprecated in favor of Jinja2 {{ foo.bar }} so we
can remove the legacy system at a later date.