Config structure responsible for:
Raises an ArgumentError on invalid arguments
@type t() :: %NervesHubLink.FwupConfig{ fwup_devpath: Path.t(), fwup_env: [{String.t(), String.t()}], fwup_extra_options: [String.t()], fwup_task: String.t() }
@spec validate!(t()) :: t()