Rename toPlainObject to normalizeOptions

Improve its algorithm for the use case
-- whitespace
-- whitespace
Remove Object.values

In ES6 `values` is coined for iterators.
We may reintroduce Object.values as iterator
-- whitespace
-- whitespace
Simplify algoritm
Simplify algoritm
-- whitespace
Error.isError true only for Error instances
-- whitespace