db: add tag and clothes_tag table

태그 정보를 처리하기 위해 tag 테이블과 의류와 태그를
연결하는 clothes_tag 테이블을 추가로 생성합니다.
conf: add tag page to menu and page list
tag: add tag controller and template
tag: default layout for tag list and editing page
api: implement create tag api
api: implement get tag api
api: implement update tag api
api: implement delete tag api
api: do not use mojolicious's error render method

모졸리셔스의 render_not_found와 render_exception 메소드를 사용하면
템플릿을 알아서 변경해버리는 문제가 있습니다. 따라서 해당 메소드를
사용하지 않고 status 코드만 변경하도록 합니다.
더불어 HTML 요청일 경우 명시적으로 템플릿을 지정합니다.
api: fix finding tag

태그 검색시 정확히 주키를 이용해서만 찾도록 합니다.
api: do transaction for updating tag and send proper error

태그를 수정할 때 태그 이름이 유니크하기 때문에 중복 문제가
발생할 수 있습니다. 이를 해결하기 위해 트랜잭션을 사용하고
더불어 완전하게 오류 상황을 제어하기 위해 세심하게 try-catch를
사용하여 오류를 핸들링합니다.
tag: implement updating tag string

태그 목록 페이지에서 bootstrap-editable 라이브러리를 사용해
각각의 태그를 즉석에서 수정할 수 있도록 합니다.
api: set 400 error when failed to update tag due to param

태그 이름 변경 시 태그 이름이 중복되어서 갱신에 실패하는 경우
500 에러 대신 400 오류를 반환합니다.
api: do not check id when creating a new tag
api: error handling for creating new tag

태그를 새로 생성할 때  태그 이름이 유니크하기 때문에
중복 문제가 발생할 수 있습니다. 이를 해결하기 위해
완전하게 오류 상황을 제어하기 위해 세심하게 try-catch를
사용해 오류를 제어합니다.
tag: implement creating tag string

태그 목록 페이지에서 즉석으로 태그를 추가할 수 있게 합니다.
tag: implement deleting tag string

태그 목록 페이지에서 삭제 버튼을 클릭해서 즉석으로
태그를 제거할 수 있게 합니다.
Merge branch 'feature/#57-add-tag-crud' into develop