Clone 'object' properties using the value's type

Fix for issue #1
Test base class members are cloned

Unit test for issue #2