Tighten authentication logic
Tighten authentication logic

Use enumerations for specifying authentication support. This will
quickly throw a value error should we hit an unknown authentication
scheme instead of falling back on default behaviours that might not be
correct.

Always throw a key error if part of the authentication header is
missing, instead of defaulting to None or empty strings. This should
also help quickly catch errors if we send out invalid authentication
headers.

Eyepea/aiosip