Change ActionController::Parameters#require behavior when value is empty
When the value for the required key is empty an ActionController::ParameterMissing is raised which gets caught by ActionController::Base and turned into a 400 Bad Request reply with a message in the body saying the key is missing, which is misleading.

With these changes, ActionController::EmptyParameter will be raised which ActionController::Base will catch and turn into a 400 Bad Request reply with a message in the body saying the key value is empty.
Fix doc in Postgres database creation
allow to test AR master against AR-JDBC master (with `ENV['AR_JDBC']`)
`export AR_JDBC=true` on travis-ci as a *before_install* (but on jruby only)
Moved all JSON core extensions into core_ext/object/json

TL;DR The primary driver is to remove autoload surprise.

This is related to #12106. (The root cause for that ticket is that
json/add defines Regexp#to_json among others, but here I'll reproduce
the problem without json/add.)

Before:

   >> require 'active_support/core_ext/to_json'
   => true
   >> //.as_json
   NoMethodError: undefined method `as_json' for //:Regexp
     from (irb):3
     from /Users/godfrey/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in `<main>'
   >> //.to_json
   => "\"(?-mix:)\""
   >> //.as_json
   => "(?-mix:)"

After:

   >> require 'active_support/core_ext/to_json'
   => true
   >> //.as_json
   => "(?-mix:)"

This is because ActiveSupport::JSON is autoloaded the first time
Object#to_json is called, which causes additional core extentions
(previously defined in active_support/json/encoding.rb) to be loaded.

When someone require 'active_support/core_ext', the expectation is
that it would add certain methods to the core classes NOW. The
previous behaviour causes additional methods to be loaded the first
time you call `to_json`, which could cause nasty surprises and other
unplesant side-effects.

This change moves all core extensions in to core_ext/json. AS::JSON is
still autoloaded on first #to_json call, but since it nolonger
include the core extensions, it should address the aforementioned bug.

*Requiring core_ext/object/to_json now causes a deprecation warnning*
Renamed generated_feature_methods to generated_association_methods.
Updated 3.2.x link [ci skip]
Update I18n guide to note the additional features of the `translate` view helper
Update 3_2_release_notes.md

Code style adherence
Fixes typo
Update 4_0_release_notes.md

Code Highlighted
Update workaround for "Outside the Scope of Strong Parameters" 

The previous example of how to permit a hash of unknown keys used .tap, but had the side effect of logging an "Unpermitted parameters" message despite being a successful workaround. The proposed workaround is ever so slightly better, imo, because it won't result in an "Unpermitted parameters" message being logged.
warning about saving models with dirty attributes

See #8328
Fix undefined method error for NilClass

Add .try to prevent undefined method error for NilClass.
Fixed URL link to rendered_component plugin [ci skip]
rephrase the overriding views part about the view path

See rails/rails#12608
fix typo introduced when searching in markdown document with vim
guides/rails_on_rack: Fix formatting of _Internal Middleware Stack_ section
Merge pull request #10664 from aderyabin/docpatch

Fix doc in Postgres database creation [ci skip]
Revert "add active model basics wip to guides/documents.yaml"

Reason: WIP guides are not in the index because they are partial
work pushed to the repo. Either there is someone working on them
or else the work was interrupted.

Guides are added to the index page when they are finished, the
author considers the draft to be complete, someone reviews them,
and overall they are considered to be good for users to read.

This reverts commit eefc03a8069bddfe31751c4bd4fb1804e7f33c2c.