change lang/clone behavior to copy all enumerable properties and add flag to clone instances

use `object/forIn` instead of `object/forOwn` to clone object properties.

add a flag to toggle behavior that way properties from the prototype will be copied by default and user will also have the option to use the prototype chain to clone *instances* (objects created using custom constructors).

**waiting for feedback before merging**

see #116