Fix eagerly loading associations without primary keys
Unset association when existing record is destroyed.

To avoid foreign key errors (and invalid data) in the database, when a belongs_to association is destroyed, it should also be nil'd out on the parent object.
Change JoinPart test from an integration to a unit test
Properly reset the session on reset_session

Fixes #7478
Assign a new session_id to session options hash
Override rack's destroy_session in cookie store
Force reloading of the session after destroy

Use load_for_write! to ensure a refresh of the session object.
This way the new session_id and the empty data will be stored properly.
E.g. in the case of the session cookie store this means that a new
digest will be returned to the user.
Merge pull request #7495 from steveklabnik/issue_7478

Properly reset the session on reset_session
Fixed markup in Upgrading RoR guide  [ci skip]

There are two changes:
- Using <ruby> syntax for unicode character routes example instead of
  <tt> since it causes single quotes to be transformed into inverted
  commas. This makes this required change more eye-catching.
- Using <tt> for the j alias and related helpers as written in the
  documentation guidelines.
Fix example code: use tasks instead of comments
Merge pull request #7504 from behrends/patch-1

Fix example code: use tasks instead of comments [ci skip]
Merge pull request #7502 from xoen/fixed-upgrading-guide-markup

Fixed markup in Upgrading RoR guide [ci skip]
Fix indenentation in comment to stop the end of comment from appearing in a <pre> block.
Add section about tagged logging

Tagged logging for which Rails has support since [3.2](http://guides.rubyonrails.org/3_2_release_notes.html#tagged-logging).
It is trivial & useful but unless somebody explicitly searches API docs, he/she may not know about it. 

Hence, I added it in guides. 
set the configured #inheritance_column on #become (#7503)

I had to create a new table because I needed an STI table,
which does not have both a "type" and a "custom_type"

the test fails with:
  1) Error:
test_alt_becomes_works_with_sti(InheritanceTest):
NoMethodError: undefined method `type=' for #<Cabbage id: 1, name: "my cucumber", custom_type: "Cucumber">
    /Users/username/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:432:in `method_missing'
    /Users/username/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:100:in `method_missing'
    /Users/username/Projects/rails/activerecord/lib/active_record/persistence.rb:165:in `becomes'
    test/cases/inheritance_test.rb:134:in `test_becomes_works_with_sti'
    test/cases/inheritance_test.rb:140:in `test_alt_becomes_works_with_sti'
Merge pull request #7506 from senny/issue_7503

#becomes works with configured inheritance_column
Allow routing concerns to accept a callable

This allows us to make alterations to the generated routes based on the
scope of the current mapper, and otherwise allows us to move larger
blocks of concerns out of the routes file, altogether.
Fix concerns not executing block in mapper

Also, add documentation for alternate usage.
Make enhanced routing Concerns more tell-don't-ask
rewrite inheritance tests with a custom inheritance_column

previously the tests with and without a custom `inheritance_column`
used the same models. Since the model then has both fields this can lead
to false positives.