ensure that an Entity clears up its collection entries when the
clearEventListener function is called as the removeFromCollection
listeners will be cleared
The remove function of the Node should first remove the child from its
parent node to trigger cleanup events (e.g. removedfromscene) and then
it is safe to clear the event listener
added test case for collection behavior when using remove or
parentNode.removeChild
Merge pull request #303 from illfang/collectionMemoryLeakFix

Collection memory leak fix and Node.remove behavior fix