Fix bugs relating to Omniauth removal

* Bug prevented any account being removed if email/password missing, not
  just last
* Failed removal by js gave no indication of failure
Reduce complexity of two methods