Add fake root to RST-dep tree

It is common practice in dependency parsing to add an artificial root node.
This root node governs the (actual) root(s) of the dependency structure.
It is usually placed at the beginning of the input sequence.

This artificial root node cannot have incoming dependencies, which should solve root-related downstream issues, e.g. in attelo's MST decoder.

at this point, I'd be tempted to make this branch out: if is None, return mk_tree(None, head)` else `return mk_tree((None, fake_root_node))`.

This avoids the potentially confusing clobbering of head (I notice all this Python is *sigh* making me use mutability more…)

But then there's the larger question of how badly do we really want to make this parametrisable?  Maybe it's best to just always pump out a fake root node?