Replace TreeMap with BTreeMap in the serde tests
Replace MoveItems and MoveEntries with IntoIter

Following a rust std change.
Replace StrAllocating with String type in function parameters

The key parameter of the insert functions are of type String now.
As insert requires ownership of its parameter `key` and StrAllocating
being gone in rust these functions now communicate that ownership
in their signature.

As a result &str must be converted into a String at the caller instead
of the callee.

The Trait ToOwned isn't an alternative as it's a generalized Clone.
StrAllocating simply has hidden an allocation or move.
Fix: Utf16 handling moved from std into unicode crate

Following a rust change.
Fix: String::from_utf8 changed function signature

Following a rust std change.
Silence deprecation warnings

str::char_len() is deprecated in favour of chars().count()