Custom validators for methods

I want to keep current normalize system, @twoRoger wants a stricter system (#79). 
Let's think about validator mechanism in the library.

Default validation mode is `normalize` (current way to preprocess parameters). We can add an extra one — `strict`, for instance. Also a developer has a chance to declare just a custom function for this issue.

This option should be declared to each API method.

Opinions? Cons/pros?
As we've discussed, errors of this type, that come from user's validation functions will be thrown, but not rejected. Let's think how this can be fixed.