Added list to keep order of added attributes

Preloads this list with 'id' and 'class' to always sort those first
As attributes are parsed, append the names to the list.
Change toString function to loop over attribute list instead of keys.
Merge pull request #114 from mgrubb/keep-attribute-order

Keep defined order of HTML attributes