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
Allows setting fixture_path to a Pathname
Merge pull request #9861 from pivotalcommon/master

Allow fixture_path to be a Pathname
Change Standard error when is required bcrypt-ruby and fails
Merge pull request #9863 from robertomiranda/require-bcrypt-ruby

Change Standard error when is required bcrypt-ruby and fails
Removed unused loop variable
Add Error#full_message test; Fix typos

Introduce test on Error#full_message for attribute with underscores; Fix
some typos
Delete failing test

I don't think this is testing anything useful, and the test code is
exceedingly brittle. It is broken since
34c7e73c1def1312e59ef1f334586ff2f668246e because the test code makes
assumptions about the implementation of PostgreSQLAdapter#active? which
are incorrect after the commit.

I could fix this test but it would be even more brittle (by stubbing the
underlying @connection.connect_poll) and it doesn't test any complex
logic. I conclude that it's not worth it.
Send SIGTERM, not SIGQUIT.

SIGTERM is the correct signal for a graceful exit.

This will hopefully resolve #9761.
Removed unnecessary block
When we pass id to update_attributes it will try to set new id for that record
Merge pull request #9707 from route/updates_another_record

When strong_parameters had been included, this case of update became possible
StringIO is not required by default in JRuby
test-case to prevent resetting associations when preloading twice.

Conflicts:

	activerecord/lib/active_record/associations/preloader/through_association.rb
	activerecord/test/cases/associations/eager_test.rb
Merge pull request #9872 from senny/test_case_to_prevent_unnecessary_reset

test-case to prevent resetting associations when preloading twice.
Don't kill the console

Use the "quit" command instead. This seems to prevents some weirdness on
OS X. See #9761.