embedding: begin cef string_map api

cef_string_map_alloc()
embedding: cef_string_map_size()
embedding: cef_string_map_append()
embedding: cef_string_map_find()
embedding: cef_string_map_key()
embedding: cef_string_map_value()
embedding: cef_string_map_clear()
embedding: cef_string_map_free()
embedding: rename string_list internal function to string_list instead of string_map
embedding: cef_string_utf8_cmp()
Remove some code duplication in the Compositor

It is possible to share the code which creates root layers.
M1456, Implement MIME sniffing initial Step
Download Cargo over HTTPS. Fix #3582.
Update html5ever ref in Android Cargo.lock
auto merge of #3969 : mbrubeck/servo/android-html5-cargo, r=larsbergstrom

Fixes a build error.
embedding: replace transmutes with manual casts in cef_string_utf8_cmp()
embedding: address various review nitpicks for string_map
embedding: add eutil::slice_to_str() convenience function

converts a *u8+length to &str and returns c_int
embedding: replace all occurrences of slicing to &str with slice_to_str()
embedding: address most recent critic review