Enable the usage of existing 'salt-call -m' option.

Currently, the ``-m`` flag for salt-call has no effect in the loaders.
This commit allows users to specify exactly the module dirs to load
given that they follow the naming conventions for 'grains', 'runners',
'modules', 'states', etc. This is a shortcut for having to refresh cache
state when using a masterless salt-call.
allow matching on presence of a key when value is a dict
allow matching on presence of a key when value is a dict -- for grains too
Merge pull request #4243 from UtahDave/develop

Add links to 0.14.0 Salt Windows Installers
Merge pull request #4083 from mgwilliams/pillar_matching

allow matching on presence of a key when value is a dict
Allow for a returncode to be set

This allows for a unix style return code to be set on function
calls, this allows for functions to set a failure relative to the
function call itself. AKA, this can flag a failed highstate
and flag it with a mapping to a specific defined value
Add initial retcode vars to state execution module
Start logging to the console as soon as possible.

Besides having a null logging handler which fixed several annoyances, we now added a temporary stream logging handler.
We did not detect the need for this temporary logging handler in salt, but projects making use of salt, for example salt-cloud, and because of how our parsers system works, would not get some useful logging output because it was not yet setup when needed.

So, logging now works(gets setup) in the following steps.

* Null logging handler right at import time. (No more, no handler for blah)
* Temporary logging handler. If console logging is supposed to happen, a temp logging handler will be setup right after arguments/options from the console are parsed(respects `-l <log-level>`), but it still does not know about any settings from the configuration files.
* Proper console logging is setup. Respects the console parsed options and also the configuration files. (Null and temp logging handlers are removed/deleted)
* Proper file logging taking into account the options set in the configuration files.
fix lost import
Merge pull request #4247 from giantlock/develop

Fix lost import.
Adding raid.create function to mdadm module.
Mirror salt.utils.pydsl.StateDeclaration.__getattr__ as __getitem__

This is helpful e.g. in top.sls files where non-keyword like attributes
of the state('base') object often get accessed. This little patch allows
to write things like:

  state('base')['*'].foo
forgot to uncomment the rest of the code.
The pidfile is now written prior to Minion init so the process can be managed during the init phase.
Fixed typo

some issues remain - may only be with windows installer build though
Merge pull request #4249 from Katafalkas/raid.create_to_mdadm_module

Adding raid.create function to mdadm module.
Update formatting in the docstring
Merge pull request #4253 from joehealy/issue4248

Fixed typo
Fix typo in group_info docstring
Merge pull request #4257 from benhosmer/develop

Fix typo in group_info docstring