Namespace valid options

This avoids a problem where the keys of nested options objects were
considered valid options themselves.
Ignore Object prototype when looking up options
Merge pull request #1953 from jugglinmike/valid-options

Valid options
Add Symbol to skipped objects for newcap
Merge pull request #2021 from thejameskyle/symbol-newcap

Add Symbol to skipped objects for newcap