Patch review requested: fix bug with Time, Date and DateTime #advance 1 year from leap day

This patch fixes an existing bug with Time, Date and DateTime #advance
-- currently, it raises an ArgumentError when advancing by year from a
leap day:

http://dev.rubyonrails.org/ticket/8655