omit new/this keys in function types unless defined in the type expression
test suite improvements

- automatically discover the test specs
- evaluate all specs rather than stopping after the first bad spec in
each file
- compare objects in a reasonable way