Tries in Swift

Tries are prefix trees, where the key is usually a String.
If you think that sounds something like a use for a dictionary in Swift, well, maybe you should read on and see the evidence.
Prerequisites:
- Dictionaries
- Some experience of trees and terminology (i.e. root, edge, child, parent, node, path etc.)