feature/configuration

Implement the Configuration trait + tests, issue #24 
Replace by:
```
trait Result[T] { ... }
case class Value[T](value:T) extends Result[T] {...}
case class Exception(exception:Throwable) extends Result[T] {...}
```