Complex object parser tests.

Object parsing is fairly reliable. While writing these I found a bug in
should.js, whereby var x = []; x[1]=1;x.should.eql([null, 1]); will
return false (debatably correct), but then show the expected and actual
results as identical [null, 1] arrays. Root issue is the eql() call
doing a quick key-length check, as opposed to a contents check, for
arrays.