Add rest of invoke with runtime unpacking semantics

Fix runtime unpacking with a passed in functor
Add test for runtime unpacking an unordered map
Add string component with string_ref