Handle wrongly cloned moments

This is in response to #1404

* detect moment objects that were cloned with something like `_.extend({}, moment())` as `isMoment`-s
* properly clone them and produce *orthodox* moment objects

Please interested parties (@chilversc, @mattbrooks2010, @RomanDidenko) -- test on knockout, or whatever fancy libraries you happen to use if it works fine with them.