Fixed #7551 -- GFK should allow None init argument

See [ticket #7551](https://code.djangoproject.com/ticket/7551). Currently GFK raises an exception when None is passed as initializing argument. Normal FK's allow None, so there is a discrepancy. This fix solves both the cases of required and non-required GFK initializing.