(#2251) crontab: avoid duplication of cronjobs

The crontab provider will duplicate resources ad nauseam if another
record with the same "puppet name" exists in a different crontab.

It was found that entries in different crontabs, even when sharing
names, should be treated as independent entities. Therefor, the
crontab provider will now ensure that when prefetching crontabs
from disk, cronjobs are matched to managed resources only if both
the name and the target file match.
(#2251) Make the crontab integration spec match the behavior again

The previous final cron test was Very Bad. It relied on an edge case
that sidestepped #2251.

Assume user1 and user2 and a cronjob X that moves from user1 to user2.
Normally, this will trigger #2251 and fill user2's crontab with duplicates
until at some point, another cronjob of user1's needs changing and the
provider behaves as tested.

In many real life scenarios, it can be months or weeks before this happens.

Testing for the behaviour agreed upon in the redmine ticket makes more
sense, because we can now make sure that the edge case will not hide
unwanted behavior that emerges in the average case.
Merge branch 'pull-1540'