Паттерн MVP — в чём его суть?
Cуть в том, что код в активити сложно тестируем. Кроме того, проблема разрастания активити, включение в него разного рода кода который работает с вьюхами, логикой, базой данных, сервисами и проч и проч.
Поэтому программистами искались выходы и находились. )
MVP был придуман задолго до андроида. Суть его (как и других аналогичных шаблонов) в разделении модели и ui. Особенность в том, что мы делаем полностью пассивную вьюху, логику вьюхи переносим в presenter. 
схематично это так: есть интерфейс view. активити реализует этот интерфейс. презентер знает об этом интерфейсе. 
Получается презентер не зависит напрямую от активити, только от некого интерфейса. Поэтому его сравнительно легко тестировать (подставляя свою заглушку view)
Так решается две основных проблемы:
- код стал более тестируемым
- код разделен на пассивную активити и ее логику в презентере.
По вопросам:
1. активити читает пароль и логи и передает их в презентер (вызывая соотвествующие методы презентера). а он далее из обрабатывает.
2. отрисовку данных делает активити с интерфейсом (названным например ActivityView). презентер  имеет ссылку на этот интерфейс (активити передает свою ссылку ему), а далее вызывает например activityView.setText(text)
3. есть два подхода
а) время жизни презентера равен (не больше) времени жизни активити
б) время жизни презентера больше времени жизни активити
соотвественно а) данные сохраняются в budle и передаются в презентер
б) данные хранятся в  презентере
4 - выше
5. активити - пассивный объект. управление через презентер. любая хоть немного сложная логика в презентер. 
Применение интерфейсов обязательно. иначе потеряем тестируемость и не избавимся от жесткой зависимости презентер-активити.
это все описано очень неточно. например вместо "активити" можно подставить "фрагмент". но суть надеюсь понятна.
По mvp для андроида почитай авторов moxy, на хабре есть несколько статей, в репе на гитхабе есть несколько примеров