Yet another change to get key_def API a tiny bit more data dictionary friendly

Split key part allocation and initialization in key_def_create().
This makes it possible use of the same key_def_create() when
"building" a key def for memcached space, and when building
it from the configuration file.

Make key_def.[h,cc] unaware of struct tarantool_cfg.