New Provider: Mailgun

Adds a [mailgun](http://www.mailgun.com) provider, just a domain resource (not much else makes sense at the moment, maybe [routes](http://documentation.mailgun.com/api-routes.html)).

```
resource "mailgun_domain" "default" {
    name = "test.example.com"
    spam_action = "disabled"
    smtp_password = "foobar"
}
```

You can then access SMTP credentials somewhere else:

```
# Your email login to the SMTP server
${mailgun_domain.default.smtp_login}
# Your password
${mailgun_domain.default.smtp_password}
```

Also uses the new [helper/schema](https://github.com/hashicorp/terraform/blob/master/helper/schema/schema.go#L27) which is fantastic.
I just pushed an edit which forces one of `Optional`, `Required`, or `Computed` to be set (docs explain why). So I'm guessing your `InternalValidate` unit test will fail now. Just set `Required: true`, here.