Refactor Person/Friendship relationships to be more intuitive

PR #5210 added a Friendship model to illustrate a bug, but in doing so
created a confusing structure because both belongs_to declarations in
Friendship referred to the same side of the join. The new structure
maintains the integrity of the bug test while changing the follower
relationship to be more useful for other testing.
Merge pull request #9747 from macksmind/refactor_friend_follower

Refactor Person/Friendship relationships to be more intuitive
remove unused parameter passed to assert_query_equal method
Allow pass multipart option to form_for
extra lines from Rakefile removed, which also threw warning
refactor test to drop unnecessary hash creation, test directly instead
Merge pull request #9759 from vipulnsward/remove_hash_from_tests

refactor test to drop unnecessary hash creation, test directly instead
Merge pull request #9758 from vipulnsward/remove_from_rakefile

Remove extra lines from Rakefile, which threw warning
Merge pull request #9745 from madmax/allow_pass_multipart_to_form_for

Fix regression: allow pass multipart option to form_for
Merge pull request #9757 from vipulnsward/remove_message_param

remove unused parameter passed to assert_query_equal method
Fix rake test warnings in actionpack
Merge pull request #9754 from macksmind/fix_actionpack_warnings

Fix rake test warnings in actionpack
sets limit 191 for schema_migrations#version in mysql2 if the encoding is "utf8mb4"

Please, see rationale in the included CHANGELOG patch.
`rake db:create` does not change permissions of root user.

Closes #8079.

I had to rework some of the tests because the mock allowed any arguments
for `connection.exeucte`. I think this is very dangerous as there could
anything be executed without the tests noticing it.
Merge pull request #9762 from senny/8079_do_not_grant_on_root_user

`rake db:create` does not change permissions of root user.