Handling ValidationExceptions in interceptors

Please do not merge it yet, it's a work in progress related with #858 

My idea here is to extract classes to better deal with exception handling so then we could reuse the exception handling code to develop that  `@ValidationInterceptor ` feature that @lucascs proposed.

I've implemented a `Try` class, similar to the scala's Try monad. Is not a proper monad here, but I think it's a nice abstraction to handle exceptions, what do you think? @lucascs @Turini @garcia-jj 
IMHO, as a framework, we should not expose 3rd part library in our public API. Java `Optional` is only available in Java 8. So `null` are welcome here. We already use `null` in other places like converters and more.

Instead of adding a 3rd part library in our public API I prefer this fancy `UnsupportedOperationException` as is right now.