Refactoring of ETagService including issues 9, 8, 7, 6 and 5 from https://github.com/patrickvankann/spring-conditional-response/issues