Order attribute keys for consistency.
Why, just why?
Add code documentation.
Add indentation abilities.
Context now appends it's pushed nodes to focus.

- Make context a little bit more intuitive by making Push() always add
  the pushed node to the focused node's children list.
- Add PushNoAdd() to maintain the old use-cases.
Add is now variadic.
Add more documentation.