Modified Node#remove which also removes childNodes if available.

Including test case to confirm this behaviour.