Fallback on field default rather than the empty string

For ``CharField(null=True)`` the empty string may be a proper value and should not trigger a fallback.

Generally, nullable CharFields are discouraged by Django, but there are some sensible use cases. In some scenarios you'd set just a non-default language to the empty string and continue assuming the field's value is not null.

Here's an example of the above scenerio: [a nullable "collected" titles field](https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/pages/models.py#L34) and a [meta description generation code](https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/core/models.py#L159) where it happens to fall back from the empty string to null and fails the unicode cast.