Add oauthv1 and timezone support, refactor github plugin, fix bugs