Pull Request for Issue1012: Fixing how to use createCopy() when it involves an AMDbObject

I have modified all the createCopy methods to dissociate the object from it's database.  This resets the id so that when the the new object gets stored to the database then it will have it's own place in the database.

@davidChevrier one thing that I didn't change at all was how our ScanConfiguration/ScanConfigurationDbObject copy constructor works.  So if you could just take a quick look at that code and mention your opinion on what should be done there that would be great.