db: rename table for sms: s/short_message/sms/
sms: Remove controller since web app will not sent directly

웹앱에서 직접적으로 SMS를 보내는 부분은 위험합니다.
한 두 통의 SMS라면 문제가 없을 수 있지만 SMS 서버의 지연이나
오류로 인해서 워커가 타임아웃이 걸릴 수 있으며 더불어
단체 문자, 즉 연체자가 20명일 경우 20개의 단문 메시지 전송으로
인해 사이트 전체의 응답성이 과도하게 떨어질 수 있습니다.
따라서 기존 SMS 전송을 웹앱에서 직접적으로 보내는 부분은 제거합니다.
lib: remove need-less using module
api: implement create sms api
db: add status column for sms table

sms 테이블에 상태 컬럼을 추가했습니다.
상태는 다음 세 가지를 가질 수 있습니다.

- pending
- sending
- sent
api: implement search sms api
api: implement update sms api
daemon: add skeleton code for sms notifier backend daemon

주기적으로 데이터베이스를 감시하며 조건에 맞는 문자를
발송하는 백엔드 데몬의 기본 코드를 작성했습니다.
주기적으로 검사하는 지연시간 역시 설정파일에서 관리하도록
했으며 더불어 TERM 시그널이 발생하면 안전하게 종료하며
HUP 시그널이 발생하면 새로운 설정이 적용되도록 변경합니다.
daemon: fetch pending sms and send then record the result

API 서버를 이용해서 보내지 않은 SMS를 확보하고 해당 SMS를
하나씩 전송합니다. 전송이 완료되면 성공 여부를 기록합니다.
api: implement search user who doesn't return yet

반납 예정일과 반납 희망일이 지났으면서 여전히 대여중 사람의
목록을 반환하는 API를 추가합니다.  이 API는 연체자들에게
문자 메시지를 전송하기 위해 사용됩니다.
lib: update depend cpan modules
daemon: refactor loading config
daemon: add fake_sms configuration

항상 sms를 보내게 테스트할 수 없기 때문에 실제 sms 전송 부분을
가짜로 항상 보내고 성공적으로 보냈다고 가정하게 해서 테스트할
수 있는 옵션을 추가합니다.

디버깅시 유용합니다.
lib: refactor load config section to library

설정 파일을 읽는 부분은 여러 곳에서 사용하기 때문에
라이브러리로 빼서 리팩터링했습니다.
Rename namespace s/Opencloset/OpenCloset/

열린 옷장의 홈페이지나 로고를 살펴보면 OPEN CLOSET이라고
명명하고 있습니다. 따라서 열린+옷장 이므로 이름공간은
Opencloset이 아니라 OpenCloset이 되는 것이 적절합니다.
conf: find conf file from more exact place
lib: add cron daemon module
lib: add ping feature to cron daemon library
lib: patch AnyEvent::HTTPD to support auto controller
lib: patch Object::Event to combine log to AnyEvent