RUBY-650 catch adding multiple options

Bernie pointed out that users could pass multiple options to `Cursor#add_option` so I am making some changes to account for that, making the code a bit cleaner by re-using `#exhaust?` and making it more flexible and adding a test.