Fix ActiveRecord locking column defaults not getting persisted

When partial inserts are enabled, overridden db defaults are ignored. This
results in locking columns having a nil value for new records if the db default
is null. This happens because the list of changed attributes for new records is
always assumed to be empty.

Solution: When a new record's default attributes are set, also initialize the
list of changed attributes by comparing current values against what's stored as
the column defaults in the database.
Raise an ArgumentError when a clashing named route is defined
Tweak exception message to avoid giving potentially misleading suggestions
Add version method to top level modules
remove references to *::VERSION, replace with *.version
Refactoring validate_missing_parameters to validate_required_parameters.
Fixed typos in activerecord CHANGELOG
Spelling 'PostgreSQL' correctly
Merge pull request #9883 from prathamesh-sonpatki/AR-Typos

Fixed typos in activerecord CHANGELOG
Don't use hash fragment for travis link
Merge pull request #9888 from zzak/patch-1

Don't use hash fragment for travis link
Autoload the AlterTable class
Merge pull request #9880 from wangjohn/refactoring_attribute_assignment

Refactoring validate_missing_parameters to validate_required_parameters.
Review some CHANGELOG entries [ci skip]
Fix documentation markup [ci skip]
unscoped works with named scope [ci skip]

Update comment to reflect that unscoped works with named scope
even when named scope is using without block form
enhance unscoped tests

Make it obvious that using unscoped with another scope
without the block works
Merge pull request #9889 from neerajdotname/unscoped

Unscoped works with other named scope even without block form
Better styles for the CSS [ci skip]
Fixed typo in activemodel/CHANGELOG