Fix reporting of file.blockreplace state when test=True

When test=True is used, this state does a dry run and doesn't change the
file (as expected), but reports that changes were made. This commit
fixes the reporting so that it states that changes would have been made.

Conflicts:
	salt/states/file.py
salt.utils.which(): use default_path if binary not found

To make salt.utils.which() operate well in salt-call when invoked from
cron (where PATH may be present but limited), try the paths in
default_path if the binary is not found in the search_path.
Make salt.utils.network.linux_interfaces work in cron
Fix infinite recursion when a file is invalid (corrupted, empty, or mid-write)