Reorder components and simplify Branch init

Brings the Node to the top of the module (being the first a caller will
interact with), and replace list comprehension validation in the Branch
initializer to a next()-based finder.