[nullsafe][refactor] More functional-style code for building errors
[nullsafe][refactor] More functional-style code for building errors

Summary:
We in fact build NullsafeIssue.t by parts, filling needed details until
all the info is provided.

This is nicely expressed via partial functions.

See the next diff that uses this to add additional information to the created
`NullsafeIssue.t`

Reviewed By: skcho

Differential Revision: D23706674

fbshipit-source-id: ca5fac704

jvillard/infer,jvillard/infer,jvillard/infer,facebook/infer,facebook/infer,jvillard/infer,jvillard/infer,facebook/infer,facebook/infer,jvillard/infer,facebook/infer,facebook/infer,jvillard/infer,facebook/infer