add ValidationResultError
change node extend function to custom
add error inheritance tests
add lib/extend tests
add lib/iterate tests
update readme