Adding Lotus::Utils::Kernel::Clone function

Providing a public API function for creating a cloned object. A cloned
object should be a deep clone of the object.

I have placed this in Kernel as it is a conversion function. However
based on usage, it may need a different place.

This commit also introduces an external dependency which could be
factored away.

Related to lotus/validations#23