Abstract login process for HybridAuth and only requery provider if there
is no valid HybridAuth session

Signed-off-by: Gawain Lynch <gawain.lynch@gmail.com>