assert: fix deepEqual regression

Change of `Object.keys` in ES6 breaks `assert.deepEqual` about primitive values.
V8: https://code.google.com/p/v8/issues/detail?id=3443
Previously `deepEqual` depends on `Object.key` that throws an error for a primitive value, but now it does not throw.

Following tests should not pass, but pass currently.

```javascript
assert.deepEqual('a', ['a']);
assert.deepEqual('a', {0: 'a'});
assert.deepEqual(1, {});
assert.deepEqual(true, {});
```

This patch fix them.