mark transaction as rollback only when duplicate contact name is detected

This is the fix for issue #5 .

By marking the transaction as rollback only, Spring will rollback the attempt to insert a duplicate name and the application will correctly return the checked exception (NameAlreadyTaken).

PS: I removed the static reference to the version of the spring library as well.