Raising an error when nil is passed to update_attributes.

In https://github.com/rails/rails/commit/9e4b715d790aa84dfb3d7aa332e0012cbc264394, @josevalim allowed the ability to send a nil argument to ``update_attributes`` (in response to #478). However, the reasoning behind that was because a pretty cryptic error was thrown. The current behavior in Rails is that ``thing.update_attributes(nil)`` will return and not update any attributes without throwing any error.

However, Instead of allowing you to send a nil argument, it might be better to raise an ``ArgumentError`` which has a clear error message. I've made that change here, but this PR is more intended as a discussion on which behavior is better.

Closes #9858.