Apply template syntax check to files in the templates dir only. This avoids false positives for .erb files in the files subdirectory which are not actually Chef templates.

Obvious fix.
use -B in case user wants to reset branch
fix broken test
update git checkout test description
Ammended test data to allow unit tests to verify only erb files in the templates directory are considered in syntax checks
decide if we're creating/unlinking up front
generate content up front
Add word boundary to mount point regexp in mount disable function
Add word boundary to mount point regexp in mount mounted function
Test for mount regexps that match more than they are supposed to
bypass idempotency in the cookbook_collection class

yo dawg, I put some idempotency in your idempotency because it heard you
really liked idempotency.

the file provider already handles this, the cookbook_collection does
not need to re-checksum the source to try to be idempotent, which is
what the last argument to the destination path does.  here we just want
to lookup a file in the cookbook cache and fetch it if necessary and
return the path into the cache.  the cookbook cache should not need
to know about where we're going to be deploying it.

as a side effect this avoids a second needless checksum.
CHEF-5081 functional test
add comment on magic behavior
some coderage cleanup

now i can sort of understand what manage_symlink_source actually does
and this reads correct to me.
validate checksums on downloads
small code rearrangement, avoid re-checksumming
different operating systems throw different errors
Reverse the error wording in Chef::ChefFS::FileSystem#copy_entries
[COOK-4028] zypper remove not working wiht OpenSuse 13.1

checking version for nil solves the problem
Add unit test for #1174