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 
:+1: 

What you think to implement `Try.failed()` to return always `false` and `getException()` and `getResult()` to always throws the Exception?

So in the `Success` you need to only implements `getResult()`, and in the `Failure` you need only to override `failed()` and `getException()`.

The same approaching is used in `AbstractList`. All methods are implemented with some common behavior, and subclasses only define a new behaviors as needed.