Implemented new API

As talked in #3

API:

```ruby
class UserMailer < ActionMailer::Base
  include ActionMailer::DeliverLater
  def thanks(*args)
    #...
  end
end

UserMailer.thanks(user).deliver_later
UserMailer.thanks(user).deliver_later!
UserMailer.thanks(user).deliver_later in: 5.minutes
UserMailer.thanks(user).deliver_later! in: 5.minutes
UserMailer.thanks(user).deliver_later at: 10.hours.from_now
UserMailer.thanks(user).deliver_later! at: 10.hours.from_now

# "old" ActionMailer delivery methods will work also
UserMailer.thanks(user).deliver #will send the email

# you can still get the Mail::Message to inspect it in console/debugger
UserMailer.thanks(user) #this is a Delegator wrapped around a Mail::Message
UserMailer.thanks(user).inspect # will call inspect on the Mail::Message

```

ActiveJob isn't happy to receive these args (First one is an `ActionMailer::Base subclass` which is not in the supported type list). Aren't actionmailer-deliver_later and Active Job (both are from master) working together at the moment?

Thanks!