Clean up tables after each test.

Follow-Up to https://github.com/rails/rails/pull/14400

This ensures that all tables are removed after each test and thereby
allowing us to run the tests in a random order.
Adding active_model in Rails::Info
Merge pull request #14463 from ankit8898/add_info

Adding active_model in Rails::Info
Merge pull request #14440 from tgxworld/mysql_table_cleanup_after_each_test

Clean up tables after each test.
Remove sqlite3 lines from .gitignore if the application is not using sqlite3.
Merge pull request #14447 from Houdini/gitignore

Skip sqlite3 files in .gitignore if no sqlite3 in app
Check if any sqlite files are not included in the gitignore

If the sqlite file name change in future version we this regexp should
catch
- Rename `increment_or_decrement` to an apt `set_cache_value` since it actually doesn't increment/decrement in localstore.
Fix date_select option overwriting html classes

with_css_classes: true option overwrites other html classes.
Concatenate day month and year classes rather than overwriting.
Merge pull request #14468 from izoomi/date_select_helper

Fix date_select with_css_classes: true option overwriting other html classes
Merge pull request #14466 from vipulnsward/rename-cache-method

Rename method and stop passing unused arguements.
use ARel factory methods for building AST nodes

This abstracts us from the actual construction of the nodes
do not rely on method_missing hitting arel

arel methods are not supposed to be public API for ActiveRecord