fix dialyzer complaints

Added a simple dialyzer rule to the make file and cleaned up some dialyzer complaints.

Some stuff is still left, running it with Erlang/OTP 17, just pasting it as i don't know exactly how to fix these issues:

```
hackney_request.erl:202: The call hackney_multipart:mp_mixed_header({_,_},Boundary::any()) will never return since the success typing is (binary(),binary()) -> {<<_:32,_:_*8>>,0} and the contract is (Name::binary(),Boundary::binary()) -> {binary(),0}
hackney_response.erl:309: The pattern {'error', {'closed', Bin}} can never match the type {'error',atom()} | {'headers_complete',{'hparser',_,_,_,_,'on_body',binary(),_,_,_,_,_,_,_,_,_}} | {'more',{'hparser',_,_,_,_,_,bitstring(),_,_,_,_,_,_,_,_,_} | hackney_http:parser()} | {'header',{binary(),binary()},{'hparser',_,_,_,_,_,binary(),_,_,_,_,_,_,_,_,_}} | {'request',bitstring(),bitstring(),{integer(),integer()},{'hparser','request',_,_,_,'on_header',binary(),{_,_},bitstring(),[],_,_,_,_,_,_}} | {'response',{integer(),integer()},integer(),binary(),{'hparser','response',_,_,_,'on_header',_,{_,_},_,[],_,_,_,_,_,_} | hackney_http:parser()}
Unknown types:
  inets:socket/0
```
maybe_redirect1 is only used in maybe_redirect above and there, the Location argument, called URL there, is created using absolute_url which always returns a binary, never undefined.