114 functional types

- Added functional interfaces to all types
- BiFunction couldn't be implemented

https://github.com/kfgodel/diamond/issues/114