Don't check constructor in deepEqual, to match Chai

- Remove the constructor check from deepEqual
- Add a heuristic to getObjectKeys to detect an explicitly assigned
  constructor property
- Use Date and RegExp-specific checks if just the actual is of one of
  those types

Fixes #284. Closes #307.
Fix jshint warning

[ci skip]