module_formatter.return_data: use UTF-8 encoding

The text parameter can contain non-ASCII characters, so we'll encode it
using UTF-8. For example the DOCUMENTATION of the bzr module has such
characters in the name of the author.
Added additional filter options for instances for EC2 and Eucalyptus
Merge pull request #2432 from ciupicri/devel-unicode

module_formatter.return_data: use UTF-8 encoding
fail when service cannot be found by chkconfig
attempt to add service to chkconfig when suggested
add better OS detection for BDM
Merge pull request #2439 from jochu/service-chkconfig-fail

fail when service cannot be found by chkconfig
adding windows-specific ebs recommendation
Mention of ansible-doc and man pages for modules.
Merge pull request #2447 from dorfsmay/20130318-ansible-doc

Mention of ansible-doc and man pages for modules.
Changed python interpreter to be consistent in these modules as compared to all others.
inject a dictionary of avaiable variables and the environment into the executor, so that templates can be used to debug playbooks by dumping more of the available context.
invalidate group cache so that a group added by the add_host module will be relfected in the groups variable in later plays.
Merge pull request #2457 from robparrott/add_host-inventory-group-fix

invalidate group cache when adding a new group
Fix broken virtualenv link in pip documentation.
Make logging to journal match what goes to syslog on non-systemd hosts

This makes the log message the same, whether it is sent to systemd's
journal or to syslog.  It retains the extra fields that are passed to
journal, such as MOUDLE=<name> and additional arguments.  Since journal
will reflect messages to syslog, this keeps what goes to syslog
informative instead of the terse 'Ansible module invoked'.

See issue #2461.
Define, when possible, the inventory_dir variable
Limit scope of arguments to service_control() in service module

This fixes handling of arguments (module argument) in service_control().
It is now locally scoped such that modifications to it, in the case of a
systemd host, do not later impact subsequent calls to service_control().
See issue #2449.

Without patch:
ansible-service[6177]: Command /usr/bin/systemctl stop cups cups , daemonize True

With patch:
ansible-service[6475]: Command /usr/bin/systemctl start cups , daemonize True

I also updated the comments to reflect the case where systemd is really
being called.
Add links to the ansible-examples repository
Fixes for get_remote_head in git module

See issue #2471

This fixes get_remote_head() to be smarter about how to check remote
head.  It checks if it is a remote branch or tag and then checks for the
remote object id associated with it.  If it is sha1, get_remote_head()
returns it as-is since there doesn't appear to be a way to check a
remote repository for a specific object/sha1.  is_remote_tag() is added
to help out the new functionalit in get_remote_head().

In main(), if check_mode is true and version is a sha1, the module now
checks to see if the object is present.