Added support for transactions.
This should solve all the problems with restoring associations.
Changed rollback to be a real transaction
Changed rollback save to save!, will raise exception when validation fails
Added has_one and has_many reify by using a version_assocations table
Fixed indexes on tables
Check for result in reify_has_one code
Added version_association model to initialiser
Moved reset_transaction_id function to instance methods
Fixed reify_has_manys query
Added delete support (add :autosave=>true to association in model)
Turned off has_one and has_many association restore by default
Adjusted reify_has_one query

Only mark for destruction if child still exists
Changed query to use table_name instead of fixed name
Added select to query to prevent activerecord being marked readonly
Revert "Added select to query to prevent activerecord being marked readonly"

This reverts commit a6947351e36bc1b9b9a0f7a4554b1084bc89513f.
Merged comits to v2.2.3.
Reset transaction id for trsnaction rollback
Shortened index name for mysql use
Added new table and extra column for transaction/relation restore in test framework
Added extra files to gitignore
Merge remote branch 'upstream/master' into transaction
Fixed merging upstream changes