Created simple functional pattern matching construct.

Please consider this contribution.
Use Java 8: 
```
cases.find(Case<A, B> that -> that.c.f(a))
```