added partial support for handling pointer inside data section
some XML changes
completely changed XML Schema to allow more extensibility in the future

TODO: add description to schema
updated XML file and XML scema

- removed old "length" value field before list pointers
- introduced "StringOrUInt32List" type
- introduced "StringOrStringPointer2Byte" type
saving dev progress

- big changes to how XML is defined and how DAT parsing happens.
temp XML changes
renamed XXX_List classes to List_XXX
removed unused import statements
Value of AbstractData derived class now should be obtained using GetValueString() method

- sage of ToString is deprecated
beta version of LibDat library. Now more extensible

- comments added
- added readme file for LibDat library
PoeStrings now finds all strings referenced from "User" fields

Before it searched for all UnicodeString in DatEntries with IsUser flag set to true
DatViewer changed to correspond to LibDat classes
XML definition changes
better CSV export handling
renames method GetTypePointerPrefix() to GetOffsetPrefix()

it's better describes what this methos does
added Length property to AbstractData

which represents how many bytes it uses
added to DatContainer methods that return lists of user string or user string indexes
moved some methods from RecordData and RecordFactory to FieldData
Backend: reformatted and cleaned up code

- it now uses direct methods of DatContainer to get user strings
added class DatString that represents string in data section DataGrid in DatViewer