Revert "Merge pull request #3097 from tricknotes/remove-enumerable-context"

This reverts commit d63bd44471f8e9a5329f7781d6bf798671249cad, reversing
changes made to 87e1287a54cc132afd77e5b2d1a1770b775141e4.

Custom enumerables require at least one of a context object or a
previousObject reference.