Add copy support to unmodifiable & synchronized collections

Previously copying an object with an unmodifiable or synchronized collection failed as the serializer's default behavior is to throw an exception. Updated to now perform the copy operation.

Note that my local editor auto removed trailing whitespace. If formatting options matter, I can revert that part of the change.

Added a single test case for each serializer. If one per collection type is desired, I would prefer to use a `DataProvider` due to the repetitive code (but that idiom isn't currently being used).