Use copy constructors for dup/clone instead of overriding dup/clone directly
Don't duplicate #freeze in clone constructor
Fix minor issues in copy constructor commits

Copy constructors are private, not public.  Override clone instead
of initialize_clone on ruby 1.8, since 1.8 doesn't use
initialize_clone.  Update the plugins to override initialize_copy
instead of dup.