Added development requirements
Added test for clean environment.
* fix bug: enable/disable service did not work if rcvar doesn't like <service>_enable (for example mysql-server)
* add workaround for service(8) bug (see PR bin/173454), it must fix #3876
* rewrite enabled/disabled function, now this func-s not based on get_enabled which is quite slow
* move service(8) look up in separate function with memoize decorator and remove direct use service(8)
* feature: service.config can be defined in minion config
* clean double quotes
Add the ability to upload files to S3
Don't `yield` on non generator functions. Fixes #3908.

Additionally, simplified match logic, replaced 3*`==` by `in`.
Solidify creating buckets with PUT
Add better log messages for S3
Add in documentation for PUT
Add the ability to HEAD an object
Merge pull request #3922 from techhat/s3

Add the ability to upload files to S3
Merge pull request #3923 from s0undt3ch/issues/3908

Don't `yield` on non generator functions. Fixes #3908.
Add DELETE method to S3
Merge pull request #3924 from techhat/s3

Add DELETE method to S3
Traceback is shown on logging, not on `sys.stderr`.

Also, explicitly state that a traceback follows.
Typo fix for S3
Merge pull request #3926 from techhat/s3

Typo fix for S3
Add the ability to authenticate to S3 directly
Merge pull request #3928 from techhat/s3

Add the ability to authenticate to S3 directly
Include exception message

I ran into a problem and kept getting the warning from verify_socket.
It made me think the port or socket was already in use.
When in fact it was an invalid address when checking
the exception message. "Cannot assign requested address"
I'm simply checking the exception for args and appending
it to the message.
docstring clarification

This commit clarifies the "recurse" param in file.directory states.