Add support for max_attempts option using .delay syntax

These changes will allow you use max_attempts as an option when scheduling with the delay syntax. E.g.

    EmailService.delay(max_attempts: 5).send_welcome_mail(user.id)

See issue here: https://github.com/collectiveidea/delayed_job/issues/736

During the coding, I discovered that the serialization routines appears to be vaguely tested, at least for `PerformableMethod`. I've added an example where I spec the proper serialization of the max_attempts option, but I'm uncertain if it is relevant. So I'd be happy with some thoughts on the following questions

1) Should YAML serialization for PerformableMethod be tested?
2) If so, how to go about it?
3) Especially with regards to multiple YAML serializers... Perhaps it's time to abandon Syck altogether and go for Psych support only?