Normalize test cases

This unifies the parser and stringifier test cases as discussed in #34. It also cleans up the test files and makes them all use should.js instead of a mix of should.js and assert. All dev dependencies now have version specified (the new should.js is much faster than the older version and speeds up the tests noticeably).

While working with the dev dependencies I also noticed that `inherits` should be moved to regular dependencies instead of dev dependencies, since `lib/stringify/compress.js` requires it.

This is a big PR, but really should be reviewed thoroughly since it moves the tests around quite a bit (ping @necolas @jonathanong).