Add UserCredentials and use them in the twitter Agents

This PR, built on @umarsheikh's work in #147, adds the concept of UserCredentials and uses them in the various Twitter Agents.