Added UsernamePassword Authentication Flow & Caching

This now has a UsernamePassword flow which uses the Cache to store the tokens, so it can be used across sessions. WebServer workflow should also still be in tact.