Add timeout to kill mutations causing infinite loop

* Will also prevent excessive runtime for core unit specs.
Fix documented return value type
Add subset of AR#where interface to memory scope
Revert "Use MemoryScope#restrict to filter adjustments"

This reverts commit 9a13d0cf077dba57c7ce1b8624f2a68257964b23.
Merge pull request #22 from MountainRoseHerbs/2-3-stable-mrh-memory-where

Add #where support for MemoryScope.