carry over properties on the host function, add tests

cc @yields @lancejpollard added the host function merging, and fixed/added some of the tests.