Add an implementation of prefix maps with Patricia tries.
Add a PrefixMap companion object

It makes sure that objects returned from collection operations are the
best type possible, by providing implicit CanBuildFrom objects that let
you build PrefixMap[T] from PrefixMap[_].

In addition, it adds the convenience methods apply and empty