Manipulating Linux /etc/group group members (Ref: Issue# 11102)

(1) modules/groupadd.py : Extending by adding three new functions.
adduser, deluser, members . For now it assumes an OS command ‘gpasswd’
is available
.

(2) states/group.py : states.group.present state function is refactored
(along the lines of states.users.present)  to support the following new
options.
  - addusers
  - delusers
  - members

This patch is for review now. This  is currently tested on CentOS(RHEL)
distributions.
Old group.present() state function is renamed as present_old() for now.
Removed references to internal region terminology
Reuse Channels

with support for multiple ttypes

Submitting merge request to get jenkins run. Last time this was merged there were some problems which seem to be related to this but i'm unable to reproduce them locally-- so hopefully we can get something from Jenkins :)
Merge branch 'develop' of github.com:CaptTofu/salt into develop

Conflicts:
	doc/topics/cloud/hpcloud.rst
Merge branch 'develop' of https://github.com/saltstack/salt into develop
mkpart should only create partitions and mkpartfs should support xfs
Merge branch 'develop' of https://github.com/saltstack/salt into develop
HP Cloud is now using Havana
Revert "Stop running the test while it's failing"

This reverts commit a084303c91fca4c4a14a31a30d8c15f001665611.
Another DeprecationWarning.
Merge pull request #11191 from s0undt3ch/develop

Revert "Revert "Fix #11003 TypeError: can only concatenate list (not "Im...
Refactor and modularize of the loader interface, adding Map to pyobjects

The problem with using the loaded states (see commit cc8539f) is that
you can end up in situations where a particular state doesn't exist for
whatever reason. This prevents you from building states freely (see
ticket #10918).

The refactor focuses on breaking out the `gen_functions` function into a
number of smaller reusable functions so that pyobjects can load all of
the states and still process `__virtual__()` and `__virtualname__` in a
way that makes sense for building states. After all pyobjects is just
compiling a high state data structure, if a state is available or not
during application time is up to the minion.

As part of this refactor I have also updated all of the inline comments
in the loader to be more consistent with the way things are actually
working now (such as `__virtual__()` returning a string being
deprecated).

There are also some pep8 fixes to the loader file.

Fix #10918

----

This also adds a new feature to pyobjects named `Map`, which allows for
definition of grain dependent data in a pythonic way -- using inner
classes.

----

Lastly this ditches the instance based registry and instead uses a class
based approach like a singleton.
Merge pull request #10332 from jacksontj/channelreuse

Reuse Channels
Register workers with the router
Add salt specific udp stack behavior
Set everythign to use msgpack
msgpack for events
Add a safe
kill spurious print
Merge remote-tracking branch 'upstream/develop' into develop