sstables: distinguish empty and missing cellpath
sstables: distinguish empty and missing cellpath

Before this patch mc sstables writer was ignoring
empty cellpaths. This is a wrong behaviour because
it is possible to have empty key in a map. In such case,
our writer creats a wrong sstable that we can't read back.
This is becaus a complex cell expects cellpath for each
simple cell it has. When writer ignores empty cellpath
it writes nothing and instead it should write a length
of zero to the file so that we know there's an empty cellpath.

Fixes #4533

Tests: unit(release)

Signed-off-by: Piotr Jastrzebski <2c0eb4a25a7cde333ff2d0860cb06051925fd74f@scylladb.com>
Message-Id: <46242906c691a56a915ca5994b36baf87ee633b7.1560532790.git.2c0eb4a25a7cde333ff2d0860cb06051925fd74f@scylladb.com>

scylladb/scylla,scylladb/scylla,scylladb/scylla,avikivity/scylla,avikivity/scylla,avikivity/scylla,scylladb/scylla