Concat

Implement Concatr and Concatl on empty, single, and ftree structures.
I'm not sure that this line makes sense. `xs` should never be of length 1, because the finger tree operations guarantee that ftree.left and ftree.right are both nonempty. So the "len(xs) == 1" scenario is rather fictional, since it only occurs if there is a rather specific bug in the fingertree library. In this case, if there is such a bug, it would probably be better to return `nil`, since returning a node *containing* `nil` is just postponing failure to the point where you try to unwrap the `nil` as a `node` (in most cases).