Update succeed/fail methods to accept options hash

#fail! works with legacy usage but warns of deprecation