Separate auth related code to its own module

Auth code is now big enough to have its own module. This patch moves all
authentication related code to pyresto.auth, tidies up some of it and
makes all authentication classes inherit from auth.Auth and moves all
previously-API-specific-considered auth mechanisms to the general pool.
Don't shadow `type` in `auth` function. :shit:
Separate auth tests too.
Don't shadow `type` in `auth` function, leftovers. :shit: :shit:
Make `Test_enable_auth` follow the naming convention
Merge pull request #48 from BYK/separate-auth

Separate auth related code to its own module