Various changes around nullable properties

Or: Not WDD, but hoping for BDD later...

Specifically:
- Disallow marking as nullable properties of non-nullable types (Issue #723)
- Make shadow-state FK properties nullable by default
- Allow value generation to work for nullable properties