Keep sub-second resolution when wrapping a DateTime value

Add `DateTime#usec` and `DateTime#nsec` so that `ActiveSupport::TimeWithZone`
keeps sub-second resolution when wrapping a `DateTime` value.

Fixes #10855
Revert "Keep sub-second resolution when wrapping a DateTime value"

This reverts commit a08d3c9bc1f8f60a27f8cc1abe774c644f20b1a9.
Merge pull request #10841 from latortuga/fix-underscore-dependency-tracking

Fix mismatching variable names when using an underscore
Describe ActiveSupport core extensions for BigDecimal, JSON support, and instance variable names.
copy editing AS guide [ci skip]
Use DatabaseTasks.env instead of Rails.env in databases.rake
Properly namespace DatabaseTasks
Merge pull request #10950 from appscape-forks/fix-wrong-method-name

Fix wrong method name
Merge pull request #10924 from pjg/patch-1

Grammar fix [ci skip]
Merge pull request #10925 from senny/10917_test_to_prevent_regression

regression test + mysql2 adapter raises correct error if conn is closed.
Conflicts:

	activerecord/CHANGELOG.md
:scissors:

[ci skip]
Wrap text on 80 columns

This make easier to review the source file

[ci skip]
Merge pull request #10727 from pacoguzman/fix-xml-mini-tests

Fix XmlMini different backends tests
Merge pull request #10960 from pacoguzman/fix-build-due-to-10727

Fix build after #10727
Merge pull request #10969 from davidcelis/case-insensitive-asset-path

Use a case insensitive URI Regexp for #asset_path
fix serialization type cast when value is already unserialized
add test for 9041454def79d8e61cabe49e7c5cb72cef29138b
just construct real objects rather than mock and stub
remove bind values for where clauses that were removed

Cherry picking following commit did not work.
https://github.com/rails/rails/commit/50823452f70341447a010df27dd514fd97bfe8a9

This commit is backport of the above commit for 4-0-stable.

fixes #10958
Merge pull request #10981 from neerajdotname/10958

remove bind values for where clauses that were removed