Throw NoSuchMethodError if the caller requests a nonexistent member

Angular--and potentially other callers--expect that when a method such
as containsKey is called on a DynamicEntity, that the object will throw
NoSuchMethodError. DynamicEntity, on the other hand, wants to ensure
that no one stashes a completion in a DynamicEntity and tries to call
it later. This patch accomodates both needs.