LinuxService: avoid enforcing systemd even if init.d script was found
no need to init None to None
Support state parameter in list_vms command

Support the state parameter in the list_vms command to filter the
VM's to list based on their state.
Fix tabs
Support JSON in --extra-vars.

If --extra-vars starts with either a '{' or a '[', it will be assumed
we are dealing with JSON and parse the data as such.
Use kstat for Solaris CPU info
Use kstat for Solaris CPU info
Use 'implementation' if 'brand' not available (Solaris 9). Add CPU socket/core counting.
Add clock speed to processor description for SPARC CPU.
Add Solaris network facts. IPv6 details overwrite IPv4 per interface, needs further work.
TODO: Separate IPv4 and IPv6
Fix typo. Solaris 9 should now correctly ignore 'brand' and use 'implementation'.
authorized_key: Set manage_dir default value

This commit fixes a bug where the authorized_key module causes
the ~user/.ssh directory to be owned by root instead of the user,
when the manage_dir argument is not specified.

If the manage_dir argument was not specified, the module behaved as if
manage_dir was set to false, even though it's supposed to default to
true.

This module assumed that an optional argument, with no default
specified, will not be present in the module.params dictionary.

What actually seems to happen is that the argument does appear in
the module.params dictionary with a value of None.

The upside is that this line was evaluating to None instead of
true:

    manage_dir = params.get("manage_dir", True)

I fixed the problem in this particular module by explicitly specifying
the default value for the manage_dir arugment. But if this bug
occurred because of a change in behavior in AnsibleModule, then other
modules may be broken as well.
Fix for #3062 additional groups should only be added once.

Also consolidated duplicate groups code into one get_groups_set() method.
Removed unused call to user_group_membership.
Removed sorting operations on set functions cause sets are inherently unordered.
Minor style improvements to match the rest of the code.

The new function will make the order of group names passed to the system command less determistic.
Which was already the case for modify_user_usermod() but not for other methods.
It will also strip out duplicate group names automatically which was not always the case previously.
Add Solaris network facts. IPv4 and IPv6 both working.
Provide userspace_{architecture,bits} facts

When running inside a chroot userspace architecture might not
match that of the actual host.

This patch provides userspace_bits as reported by python's
platform.architecture(). Also provides userspace_architecture fact
if host is an x86 machine.
Issue #3079: Initializing key_exists in case the S3 bucket does not exist
Added optional dependencies for fireball mode to PKGBUILD.
Handle '#' in var strings by splitting on ' #'

If someone has a " #" in a quoted var string, it
will interpret that as a comment and refuse to
load the inventory file due to an unbalanced
quote. Noisy failure > unexpected behavior.
add "size_{total,free}" to the "mount" facts