Added support for pyenv.
Fix to avoid reading a file when no source is given

- file.managed was loading into memory the destination file even if no
  `source`, `contents` nor `contents_pillar` was specified. Changed it
  to force `replace` to False if no source was given
Merge branch 'develop' of https://github.com/saltstack/salt into develop
Erased some trailing whitespace
Added support for pyenv.
Updated pyenv documentation.
Resolved merge conflicts.
Removed the warning just for testing.
For some reason the install_pyenv state wasn't present.
onlyif and unless to internal commands
order state internal keywords

also add unless and onlyif
Fix _run_check to return correctly
pylint fix
add check_cmd

also add better change messages to unless and onlyif

This should also allow states to override the _run_check and
_run_check_cmds if they have a run_check or run_check_cmds function
change run_check in cmd state
only need to set it to True if checks are successfully

and it is False...
more pylint errors
add test for npm.installed/removed
give the minion the ability to evaluate its master from a modules function upon start
fixed *.upstart and rules