DataReader improvements

- DataElements don't need to concern themselves with catching parsing
errors - DataReader does that now
- added support for parsing lists of values stored in delimited strings