assign_attributes should return if argument is blank.

If you are passed an empty hash, then assign_attributes doesn't need to
do any work and can just return early. This should fix the failing Agile
Web Development tests.
Merge pull request #12343 from wangjohn/fix_failing_agile_controller_tests

assign_attributes should return if arguments are blank
Add regression test to #12343