Pass options.dup to generate_message().

AM:Errors#generate_message() clears optioms(:message) on first run,
pass dup so it is still here on successive run.  Enhance test to
exercise fix.