lib: improved forEach object performance

Trying to squeeze-out more performance out of the **object loops**. 

Based on [this perf test](http://jsperf.com/object-keys-foreach-vs-for-in-hasownproperty) I wrote 2 weeks ago. 

    Object.keys forEach => 677,305 ops/sec
    For Object.keys     => 1,356,592 ops/sec

It shows that the implemented code in this pull request is faster in most javascript engines than the previous implementation. Which is also true for google chrome's V8.

All test passing, Cheers 
no need extra `destroy` function now.