UiPresenter 인터페이스의 getData 메소드 제거

1. 동기식으로 데이터를 가져오는 Data getData(int id) 메소드를 제거, 이후 UiView 쪽에서 데이터를 가져오기
위해서는 반드시 비동기식 으로 데이터를 가져오는 void getData(int id, DataReceiver<Data>
receiver)를 이용해야함
FoodMenuPagerAdapter 수정

1. getPageTitle의 구현을 TimeUnit을 사용하지 않고 Calendar 만으로 날짜 계산을 하도록 변경
2. createPageView()를 제거하고, 이 메소드를 사용하는 곳 (1곳 밖에 없음) 에서 직점 View를 확장하도록 변경
3. instantiateItem() 에서 확장된 View를 갱신하기 위한 updateView() 생성
4. instantiateItem() 에서 확장한 View의 id 설정을 위해 View 인스턴스의 해쉬 를 사용했던 것을
View의 generateViewId() 메소드를 사용하도록 변경하여 View id 충돌에 관한 잠재적 문제를 해결함
DataReceiver에 onProgressed() 메소드 추가

1. DataReceiver를 이용하여 데이터를 가져올때 데이터 가져오는 진행 상태를 알오기 위해 onPregressed() 를
추가함
AsyncDataReader 생성

1. UiModel 로 부터 비동기로 데이터를 가져와 주는 AsyncDataReader 작성
변경된 UiPresenter를 FoodMenuFragment에 적용

1. 변경된 UiPresenter를 적용하여 FoodMenu getData(int id) 제거하고 비동기로 데이터를 가져올수 있게
구
FoodMenuModel 더미 데이터 수정

1. FoodMenuModel 에서 더미 데이터를 가져올 때 약간의 지연을 추가
FoodMenuPagerAdapter 수정 및 새로고침 기능 적용

1. FoodMenuPagerAdapter의 updateView()에서 필요 없는 View 갱신은 무시 하도록 수정
2. getItemPosition()의 반환 값을 POSITION_NONE 으로 하여, ViewPager가  View를 갱신시키
도록함. FoodMenuPagerAdapter는 View를 재사용 하므로, POSITION_NONE이 아니라 실제 위치를 반환
하게될 경우, View 갱신이 안될 수 도 있음.
3. 업데이트 버튼을 눌렀을 때, 토스트가 발생하 던것을 update()를 호출하여 View를 업데이트 하도록 변경