db structure, allow null in columns for '' values

originally from https://github.com/owncloud/core/pull/3583

fixes https://github.com/owncloud/core/issues/2371 and https://github.com/owncloud/core/issues/3298 without hiding portability issues (PR https://github.com/owncloud/core/pull/2389 can be closed when this is merged)

@karlitschek @DeepDiver1975 @icewind1991 @MTGap @bartv2 empty string is considered null so we have to allow null in db columns of type text when we need to store the empty string.