Update match-statements to handle the new `Result` from UTF-8 Parsing.

`std::str::from_utf8` now returns `Result<&str, Utf8Error>` instead of an
`Option<&str>` ... this updates match expressions to handle that accordingly.
The unwrap_or! macro expects an option; assert that our string is UTF-8.

This macro could be updated to handle the result-type; but it is used in place of
option types throughout the codebase; so this change has a far smaller footprint.
`from_str<T>` is deprecated; use `#parse()` and infer the type instead...