client: Improve error handling

Get error json struct from API.
domain resource: Add delete and skeleton for update
Implement create for domain resource
Change required domain field, switch to function to set data
Implement domain data source
client: Implement HTTP client with basic auth and GET request
provider: Add options
Start with mailman provider