elasticsearch returner.

Dependencies:

- official elasticsearch python client
- jsonpickler.

configuration is defined in the master config file:

```yaml
ext_job_cahe: elasticsearch

elasticsearch:
    host: 'some.host.com:9200'
    index: 'salt'
    number_of_shards: 1 (optional)
    number_of_replicas: 3 (optional)
```
Added preliminary documentation
correct master settings
add link to elasticsearch client library docs
fixed lint errors
Initial commit of a zookeeper concurrency control module
win_useradd: getting %USERPROFILE% from the registry
Add aliyun for salt cloud
Merge remote-tracking branch 'upstream/develop' into aliyun
Refine aliyun codes according to review comments. The create method
should use bootstrap utils.
pylint coding format
Merge pull request #12885 from ranl/win_useradd_userprofile

win_useradd: getting %USERPROFILE% from the registry
The helper method is now released
Add generate_password to shadow module
Merge pull request #12888 from crook/aliyun

Add Aliyun provider for salt-cloud
Merge pull request #12909 from s0undt3ch/develop

The helper method is now released
Better, but it now has retries and sleeps
Add some comments
Add algorithm argument to get_hash
Use salt.utils.pycrypt to generate hashed password