Add the final implementation of RNA

This one defines canBuildFrom in its companion object, which allows for
a greater range of interop with collections of various types.