Fixes #130: String().max() fails when key is optional

- Fix #130
- Add test for combination of nullOk() and max()