Simple module to install Perl libraries via cpanm.

cpanm is a popular alternative to the CPAN client for installing Perl
libraries.  Unfortunately it can't uninstall already installed module, so it
can't handle states.
Add the `mirror` option and verify if a package is already installed.

By default, the cpanm client will use a default mirror to download
libraries, but it's possible for the end user to pass a different URL.

Since ansible favorite idempotence when possible, we verify if the
module is already installed before running the cpanm client.

Another minor additional change, the `notest` option is now a boolean.
Alias name to pkg.
debconf package
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
fixed typo for showing diff
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
and it was supposed to be a dict
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
corrected indentation and now handles non existing previous key (not
just changed existing)

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
did some minor refactoring on docs and fixed spelling mistakes (thanks
Mikhail)
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
corrected my grammar (again Mikhail)

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
making pylint happier

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
bugfix: support path separators in module path

As described by http://docs.ansible.com/intro_configuration.html#library the library supports multiple paths to load modules from. 

Currently `setup.py` treats something like `/usr/share/ansible:/my/custom/modules` as a single directory name and results in the installed modules not being on the module path. (instead they are in a directory named `/usr/share/ansible:/my/custom/modules`) 

This commit simply takes the first listed directory as the install directory for the core modules.
Fixes #5679: lineinfile ignores newline in line argument
reorder usermod options
Fix a bug in "hg" module so that `pull` is not set to a version.

There is a bug in the `hg` module where if a `tag` is used it won't
properly be able to update to it.

This problem is exhibited on repository where a tag is moved from an
older commit to a newer commit.
Make default ANSIBLE_REMOTE_PORT None

The ansible remote port should be None, not 22. Having a default value
of 22 means that '-o Port 22' will be appended to the ssh connection
all of the time. This is incorrect as when one would like to use
something like an ssh configuration file (-F) that sets the port to
something other than 22.

Part of this change requires that we check that, in get_config, the
value is not None before trying to cast it into an integer or float.
Fixes #5819: Added --executables to gem uninstall command.
further compatibility with older versions of python-apt (#5853)
Revising method for parsing ranges from --limit subsets

Also added a new test (test_subset_range) for future validation.

Fixes #4620
fixes as per feedback
changes names to name in example