transacciones con copia de objeto

* cambia las transacciones para que trabajen con copia de objetos en vez
de variables en el objeto original
* agrega metodo "rollback" y tests