Fix test name
Implement a nothing tag so you can represent nothing
Register if the specified children was user-specified or not through the TagBase.children_defined attribute
BREAKING: implemented is removed and children_specified is used instead

It makes the semantics a little more clearer.