Support field groups.
Check empty nodes at level 0.
Support level.
Split nodes to group nodes and field nodes.
Support identation.
Don't check for empty group nodes, we still have field nodes at sub level.
All field nodes at level 0 has level 0 by default, no need to assign again.
Use uasort to reserve the keys while sorting array by values.
Add a space between 'X' and 'Warning'.
Merge pull request #20 from tienvx/features/field-group-support

Features/field group support