Determine if ACL mgmt follows symlinks by provider type.

- Prerequisite for CHEF-4312 fix.
- File access control defers to the provider to determine whether to use
link-following system calls or not (e.g., chmod vs. lchmod). File
provider and subclasses will use link-following calls (chmod), Link
provider uses calls that manage the symlink itself (e.g., lchmod).
Allow file resources to manage files via symlink

Fixes CHEF-4312 http://tickets.opscode.com/browse/CHEF-4312

Adds resource attribute `manage_symlink_source` to file resource and
descendents. When true, file resources will manage the source file
when a symlink exists at the destination path. When nil (default), the
source file is managed, but a warning is emitted. When false, symlinks
are not followed. In Chef 12, the default should be changed to false.