feat(core): Separate Clonable from Reflected

Take Clonable functionality out of Reflected class so the later may
function independently. The Clonable class anyway, inherits from the
Reflected.
test(core): Update Unit Tests after separation

Unit Tests update to correspond to the separated classes Reflected and
Clonable.