added a composition function for composing either functionally (executing a series of constructor functions on an object) or object composition. It clones complex objects to ensure they are not passed by reference
commented out some tests, and cleaned up some test organization