Remove IAddon::Parent() and replace with simple flag in CAddonDLL

The parent parameter was misrepresented throughout the code (sometimes called parent, sometimes called self) and was only used as a boolean condition in CAddonDLL
Move member initializers from CRepository::Clone() to copy constructor.

Also adds missing m_hashes member.
Move CScreensaver cloning to new method, CScreensaver::Clone()

CScreensaver::Clone() is virtual and overrides IAddon::Clone()
Remove unused member variable AddonProps::parent
Complete missing add-on Clone() functions
Merge pull request #2882 from garbear/addon-clone

Remove IAddon::Parent() and replace with simple flag in CAddonDLL

The parent parameter was misrepresented throughout the code (sometimes called parent, sometimes called self) and was only used as a boolean condition in CAddonDLL