Merge pull request #1718 from jpmens/andoc2

CLI: ansible-doc rebased
Subverion module improvements
  - Added username, password arguments.
  - Documented existing revision argument.
  - Corrected documentation/docstrings; removed git references, use svn
    nomenclature, etc.
  - Refactored duplicate code, redundant shell calls, filter abuse,
    inconsistent formating, etc.
  - Shell quoting so it doesn't break for one guy who has spaces in
    pathnames.
  - svn called with '--non-interactive' and '--no-auth-cache'.
Alphabetic inventory hostname patterns.
  - Code, docs, tests.
  - Also added test of large range 000-142 to verify alpha range did not
    break this.
print Notes heading only if there are any
make --list-hosts expand out extra vars in the hosts: field
Fix ppa syntax in apt_repository module doc

The example for using a ppa had the wrong syntax.

Ironically, the correct syntax is illustrated in a comment on line 23.
mail module: add MIME attachments, port and addresses with phrases
 Add HTML-escaping to code examples in rST tempate of module-formatter
 Add support for specifying port, addresses with phrases and attaching files
 Add support for custom headers and document version_added for new options
 X-Mailer header added :)
 protect empty address lists & attachment list, and add bcc
Merge pull request #1753 from skvidal/devel

make --list-hosts expand out extra vars in the hosts: field
Tweak docs for correct paths and filenames
Allow intersecting host patterns by using &

This allows patterns such as webservers:!debian:&datacenter1 to target
hosts in the webservers group, that are not in the debian group, but are
in the datacenter1 group. It also parses patterns left to right.
if user has manually installed an intermediate version - don't ignore it: issue 1754
Merge pull request #1760 from skvidal/devel

if user has manually installed an intermediate version - don't ignore it...
pip module improvements
- Do not silently ignore malformed pip requirements files.
- Properly reports changed when removing packages.
- "latest" i.e. --upgrade is *not* incompatible with requirements files.
- Less branchy, simpler logic.
- Removed pointless variable "initializations", Python doesn't need that.
  Other code simplifications.
- Fun fact; pip install is (kind of) case insensitive, pip freeze is not.
  So, 'sqlalchemy' will be reported as installed by install, but missing
  by freeze.

The perhaps controversial change and the one that led to finding /
fixing above issues...

Instead of adding command parameters 'index', and 'find', and 'mirrors',
and etc.  Added 'extra_args' which are passed onto pip.

The use case for --index-url is having a private pypi repo, like
http://pypi.python.org/pypi/localshop, to which you publish private
packages.  I'm sure most every pip option has a use case for someone.
extra_args handles all those. Can reserve ansible command parameters for
the most common.

Tested with pip 1.1.
Merge pull request #1756 from marktheunissen/fix-ec2-inventory-path

Tweak docs for correct paths and filenames for ec2 inventory
Merge pull request #1764 from njharman/pip

pip module improvements
Merge pull request #1749 from jpmens/andoc3

ansible-doc: print Notes heading only if there are any
Merge pull request #1755 from lorin/patch-1

Fix ppa syntax in apt_repository module doc
Merge pull request #1750 from dhozac/intersection-host-pattern

Allow intersecting host patterns by using &
Merge pull request #1696 from gregorg/enhance_limit

Allow regex to be used to select hosts in addition to fnmatch pattern
Merge pull request #1741 from christopher-snapp/list-hosts

add list-hosts support to bin/ansible