Pull request for part of fix for issue #39

This allows the user to configure additional copy methods, which when wrapped in an unmodifiableCollection, MD will accept as immutable fields. eg:

  this.list = Collections.unmodifiableList(Lists.newArrayList(list));

At the moment the out-of-the-box config supports newArrayList, newHashSet, newHashMap but I can make this more complete later. (see Configurations.GUAVA_CONFIGURATION)