Handle improperly passed args better

If they happen to not pass a hash as the last object, you'll run into a fatal error with `options == nil`, which will cause `options[:default]` to error out.

Not really a huge concern, since no valid params will have been passed, but eh...
wasn't sure where to put it without risking clobbering active_support's implementation (in the case where this is mixed into a rails app). If you got a spot I'll happily place it.