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
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.
Merge pull request #2914 from jpmens/notif_unchanged

notification modules irc, mqtt now exit with changed=False
Merge pull request #2918 from bcoca/jabber_notchanged

jabber module returns changed=false on success
Fix issue 2906
Merge pull request #2919 from fabulops/campfire_notification_fixes

Campfire Notification Module: Typo fixes, tighter error handling, corrected check mode support
Merge pull request #2921 from lwade/ec2_fact_doc

Added a helpful example to the ec2_facts doc.
Merge pull request #2922 from gtmanfred/devel

update archlinux PKGBUILD for pacman 4.1
Merge pull request #2923 from benjixx/fix-package-mentioned-twice

fix package mentioned twice in setup.py