Pip's name key can now accept remote package address.

Summary:

Pip module would abort when name is a remote package address because
the module was expecting a version if ``=`` is part of the name value.

Furthermore, the pip module would require either name or requirement to
be a key, although the documentation table said neither was required.
The fact that one of them must be present is not documented in the
documentation leads to confusion. This commit added this fact as part
of description.

In this commit, we resolve the confusion by stating either ``name``
or ``requirement`` is needed. Next, if the user puts remote address
as the value of the ``name`` key, we will not use mirror. Lastly,
if the user uses the remote serivice address as the name of the
package and the user does not supply -e option in extra_vars
(which is the whole point of this commit), we will add -e to
 extra_vars so pip command can run with -e option.
Make package version comparison use globbing.

I have something like:

  apt: pkg={{ item }} state=present
  with_items:
    - python-pysqlite2=2.6.3-*
    - python-paramiko=1.7.7.1-*

But due to the use of *'s in the version specifications, the apt ansible
module always reports changed: true. This patch fixes that.
notification modules irc, mqtt now exit with changed=False
  (as per discussion on ML)
module returns changed=false on success
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
Typo fixes, tighter error handling, corrected check mode support
Added a helpful example to the ec2_facts doc.
update archlinux PKGBUILD for pacman 4.1
fix package mentioned twice in setup.py
Fix registered variable usage example
notification modules should set chnged to False
apt now uses module function to find bin paths

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
Add an update option to the git module

This will allow just making sure the repo exists w/out actually making
any chnages to it. Useful if you're going to run a play repeatedly
against a host that might have active development going on in the
repository (think initial bootstrap of a developers system, and
continued playbook runs to work on other projects).
Add support for crypted passwords to password lookup

Added new parameter 'encrypt' with same semantics from that of
vars_prompt. When encryption is requested a random salt will be
generated and stored along the password in the form:
'<password> salt=<salt>'.

Also store passwords with an ending '\n' for easier looking at files
with console tools. File content was being already rstripped so this
is harmless.
-o and -r option don't exist on AIX
no uses get_bin_path for 2nd use of ip tool (fixes reported issue with openwrt)

module needs this added to many tool invokations, but his is a start
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
Fix empty requirements specifications in modules documentation

And also be liberal in what ansible-doc accepts as an empty
requirements specification.

While here fix a typo in template module documentation
wrt jinja2 overrides example.
Fix name in copyright
Pip can now accept vcs or tarball as name. Prevented adding mirrors when name is vcs.

**Summary**:

There was a bug in the previous commit; pip module would add --use-mirrors options to a source package when state is absent. The bug is resolved in this commit by checking ``not is_package`` in the if branch.

Furthermore, in order to support non-vcs source name like tarballs, we must not add -e option to the arg list. Given this circumstance, this commit have is_tar and is_vcs and the latter is checked to add -e option. Since mirrors do not make sense with vcs or tarball source, this commit will not add --use-mirrors (default to True) as always.
Merge pull request #2875 from yeukhon/devel

Pip's name key can now accept remote package address.
Merge pull request #2905 from kjkuan/bugfix-apt-version-comparison

Make package version comparison use globbing.