improved handling of inherited and non-enumerable object properties

By default, tv4 now ignores inherited and non-enumerable object properties
during validation. A new options object allows you to override these
defaults.