Removendo requerimento para as entidades implementarem o clone

Nos benchmarks que eu vi o clone é um pouco mais rápido, então eu mantive o mesmo comportamento quando a entidade implementa o clone, mas agora quando não implementa ele faz uma clonagem (shallow copy) por reflexão.

O requisito é a classe ter um construtor vazio, pode até ser privado, desde que eu consiga acessar por reflexão.

O trabalho de descobrir os campos da entidade por reflexão é cacheado, então uma segunda chamada para o método de clonagem vai ser bem mais rápida.

Falta checar se o campo é final (vai dar problema se tiver) ou se o campo é @Transient (do jeito que está vai persistir o transient).