Refactor/issue 268 : authentication refactoring

Solved #268 based on #274

976fc0c 까지가 #268 이고 (분명 --no-ff 로 머지해서 표식을 남겨놨는데 pull --rebase 하니까 날아갔네요 =_=)
fe8ec5b 부터 작업한 부분입니다.

모델 정리를 하고, 각종 로직을 정리하였습니다. 정리하면서 서비스 객체로 분리도 하였습니다.

* 구현 상세

상세를 간략히라도 적는 것이 좋을 것 같아서 덧붙입니다.

예전에는 활성화까지 완료된 회원만 세션에 `user_id`를 저장하고 로그인된 상태로 상정을 했는데 코드를 간단하게 바꿀 수 있는 방법을 생각해보다가 지금은 활성화가 완료되지 않아도 세션이 생성됩니다. 하지만 `require_activated` 가 모든 페이지의 before_action으로 걸려있어서 결국에는 활성화를 해야합니다. (일부 페이지는 세션만을 요구하는데 여기서는 `require_sign_in` 을 대신 사용합니다.)

한편 이런 구현에서는 전화번호 로그인에 문제가 생길 수 있는데 (인증한 것으로 치고 로그인을 시켜주어야 하기 때문에) 현재 생각으로는 (아직 구현되지 않아서 버그로 남아 있습니다) User 모델에 virtual attribute로 `regard_as_activated` 를 도입하고 원래 있던 `activated?` 함수를

```
def activated?
  activated || regard_as_activated
end
```

로 고친 다음에 `current_user` 함수에서 regard_as_activated 값을 채워주는 방향으로 생각을 하고 있습니다. (세션값으로부터)