예상 실패와 server bug를 다른 가지로 보낸다

모든 RuntimeException을 400으로 바꿔 내부 결함을 client 책임으로 숨기지 않는다.

1. Not found

404 resource 없음

2. Conflict

409 현재 상태 충돌

3. Validation

400 수정 가능한 field

4. Unexpected

500 + request ID