Added tons of fixes, convenience methods, ... finished test cases, added
get...ByName() methods, added a name to elements.
Added getChild(String id) method to allow you to directly get
attributes.  Switched to a map to keep children around.
More convenience methods