Feature/interview sheduller/request validator

### Here goes my feature. I would be pleased to hear best practices/recomendations concerning few parts inside
======

For example, here is what appointment post request with nonexisting users/applicants produces:
```json
[
   {
      "codes":[
         "400.appointment",
         "400"
      ],
      "arguments":null,
      "defaultMessage":"There is no applicant with id some_unexisting_applicant_id",
      "objectName":"appointment",
      "code":"400"
   },
   {
      "codes":[
         "400.appointment",
         "400"
      ],
      "arguments":null,
      "defaultMessage":"There is no user with id some_unexisting_user_id",
      "objectName":"appointment",
      "code":"400"
   }
]
```
bthw,
Cool thing is 
![image](https://cloud.githubusercontent.com/assets/6148466/3223906/374839a6-f02a-11e3-969b-ba003a79fdda.png)
and all we need to use it - 
add this Validator to WebDataBinder
and add ```@Valid``` annotation near Appointment argument

----------------------------------------------
Also, as I understand 
![image](https://cloud.githubusercontent.com/assets/6148466/3223953/97ec551c-f02a-11e3-9574-79abf28d04fd.png)
can handle anything troublesome appearing during service usage.
and that is great
for sure

![image](https://cloud.githubusercontent.com/assets/6148466/3224019/cff7d5fc-f02b-11e3-832a-d974a85fdef7.png)
should it be protected. In most cases no one extends from controllers