Add Parentless.for.

This simplifies the definition of Composite#remove_parent_of.
Fix accidental space issue.
Redundant self removed.
Don't handle #parent_url on items with nil parent.

This is no longer a supported position, as items with no parent should
use Parentless instead.
Remove another useless nil check.
Disallow nil parent and ID function in #update_parent.
Move #remove_parent into ParentTracker#initialize.

This knocks out a lot of unnecessary constructors.
Create the ‘Branch’ module.

This factors out the mixins that define a branch.
Make branches use Branch.
Rubocop: single quote strings please.
Prepare version 0.3.0.