Crash application if memory is corrupted

This pull request throws exception when we detect the memory is potentially corrupted. The verification is enabled through compiler flag HEAP_VERIFICATION.

Running ProtoTest gets a bunch of memory exceptions. So of them probably is false positive, need to investigate them. 

@lukechurch, @junmendoza please review the change. 
Do you have a specific DS-only testcase that can crash any of these verifications?