Parser: validate that maps have both key and value items If a map end (Break byte) occurs before we've read the concrete item for the value, then the map is invalid. Fixes #167 Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>