Removed redundant imports
Added interfaces IUserAuth and IUserAuthProvider
Split up the interfaces into multiple parts (IUserAuthDetails, IMeta) to comply with ISP in order to refactor shared functionality between the UserAuth and UserAuthProvider.
Added initial support for custom UserAuth
Merge pull request #838 from shelakel/master

Decoupled dependency on UserAuth/UserAuthProvider for simpler authentication/authorization implementations