make setsockopt use zmalloc/free rather than get_writable_page

This removes one case where get_map() needs to care about non-child mappings.