Revert "fix coderef item in ::Source"

This reverts commit 24ffa5e68fed099bd157151222e06cc942e5f44d.

Reverting because I needed to think about the API for coderefs more.
The reason for supporting coderefs is to have a source that can contain
rules, but the coderef must return all files each time it is called, not
an iterator.