auth: First step extracting current auth scheme to generic interfaces

The packate auth/native was created and currently it contains a lot of
repeated code from the auth package. This code will be progressivelly
erased as more interface methods are implemented and the other packages
start using them.

For now, only the login handler in the api package is using the Scheme
interface methods.