Client_id and client_secret generation

Uses oauthlib generate_client_id() for client_id and client_secret param as discussed in #23. However a limitation has been made to solve issue #24. It solves also a issue #25 about Basic Auth parsing because password can contains colons so `auth_string_decoded.split` may raise an exception.