fix PaperTrail::Rails::Controller.included method

remove "if" condition and make loading of Rails code conditional.

this bombed if the controller wasn't ActionController::Base and the rails-api gem wasn't included.
Cleanup and organize paper_trail.rb a bit; update CHANGELOG
Separate articles with bullet points on README [ci skip]
Typo fix [ci skip]
Versioned models should have their version association getter updated upon destruction when applicable
Saving a reified version instance should clear the source_version association, since it becomes the live instance
Fix failing test so it uses proper method to destroy associated objects
Fix indentation on PaperTrail::Model::ClassMethods#paper_trail_on method definition [ci skip]
close #357; Timestamp attributes for update should get touched if a previous version is re-ified then saved
Remove commented line [ci skip]
Attempt to sort based on primary key in scope methods on VersionConcern if primary key is an integer.

This makes some of the changes to these scope methods that came from 6a4aba2 more flexible,
in that the user can choose to compare timestamps if desired, but it defaults to comparing and sorting,
via the primary key (if it is an integer).  If the primary key is not an integer, it still defaults
to using the PaperTrail.timestamp_field.

This is my proposed fix for #314, and I also believe it should fix #317. It seems that that this issue
is usually encountered when testing PaperTrail with MySQL (presumably due to lack of microsecond timestamp support).
If VersionConcern is included on a table where the primary key is an integer, sort by that column ONLY