PLT-500 - AssertJ matcher for Result

PR adds the ability to do AssertJ fluent assertions on Result objects. Thus the following is now possible:

```java
    Result<Long> result = beanMaster.insertBean(bean);
    assertThat(result)
        .isSuccess()
        .hasValue(1l);
```
or 
```java
    Result<Long> result = beanMaster.insertBean(bean2);
    assertThat(result)
       .isFailure(FailureReason.ERROR)
       .hasFailureMessageMatching("some db error");

```