Dereference feature fix

Allow forArrayMutator to be passed along to the public version of dereference. Also consists of all the commits in PR #144 .

Again, my apologies for the messy PRs (things will be much better when you merge in my original PR ;-)