Display Attribute Support

Replaced the stock reflection .GetProperties with an ordered properties
that respects the Display(Order=) data annotations for easier ordering
of columns.  A reference to system.componentmodel.dataannotations had to
be added to the project as well.