VIVO-120 improve the error messages from OperationUtils.cloneBean()

Add unit tests for the method and restructure the logic so a failure to create the clone is treated as seriously as a failure to load it with values. Previously  a failure to create resulted in a null return (with a log message) while a failure to load resulted in an exception (with a log message).