Refactor internally used functions.

Should make reuse a little easier
Better corner-case checking for clade plots
Pull some loose junk into a function
A "direction" function for holding theta0

Seems a bit like overkill, but could actually be useful and reduce
the complexity elsewhere a little.
Simplify handling of theta0 for direction()
Update to use new direction() function.
Upgrade roxygen -> roxygen2 4.0.0
Better names: direction -> tree_direction
Move headers to match rodeint's structure more

This is needed to move to use attributes
Remove all models code (temporarily) to allow migration to attributes

Cutting down the number of moving parts to be concerned about.
Migrate free functions to attributes rather than modules
Roxygen upgrade
Move nodes from Rcpp modules to attributes